分数器テストで非同期と待機を使用するにはどうすればよいですか?asyncとaleitを使用してセレンの分度器テストを行う
it('test async', function(){
var value = 0;
function asyncAction() {
return browser.driver.wait(()=>true)
.then(function() {
console.log('a');
return value++;
});
}
//-Problem Area-
async function doAwait(){
await asyncAction();
return asyncAction();
}
doAwait();
protractor.promise.controlFlow().execute(() => {
console.log('b');
expect(value).toBe(2);
});
});
出力はここ
- B
及び値は時1であり期待 関数doAwait(){ はasyncActionを待ちます() ; return asyncAction(); }
私は動作しますが、doAwait非同期上記にはない
function doAwait(){
asyncAction().then(()=>asyncAction());
}
と同様に、このと考えたいです。これは、ジェネレータがセレンのControlFlowを破るためです。分度器の設定にこれを追加する
あなたはすでにこれを持っています。これは、ジェネレータがセレンのControlFlowを破るためです。 – nilesh
私はあなたがこれをどのようにテストしたのか不思議です。私のIDEは、ECMA 6 – nilesh
( 'babel-register')({ プラグイン:['transform-async-to-generator'] })が必要です。 – TrevDev