Jak korzystać z asynchronicznych testów i czekam na testy kątomierza?Korzystanie z asynchronizacji i czekanie w testach kątomierza selenowego
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);
});
});
wyjściowy o to
- b
- wartość
i 1 w czasie oczekiwać funkcja doAwait() { oczekiwać asyncAction() ; return asyncAction(); }
Lubię myśleć o tym jako podobny do
function doAwait(){
asyncAction().then(()=>asyncAction());
}
który działa, ale przede asynchroniczny doAwait nie. Wierzę, że dzieje się tak dlatego, że generator rozrywa ControlFlow selenu.
Masz już to "Wierzę, że to dlatego, że generator rozrywa ControlFlow selenu." – nilesh
Jestem ciekaw, jak to przetestowałeś. Moje IDE obsługuje tylko do ECMA 6 – nilesh
wymagają ('babel-register') ({ wtyczki: ['transform-async-to-generator'] }); – TrevDev