Как продолжить внутренний тест по истечении времени ожидания для вызовов leadfoot/Session#executeAsync
Есть массив URL для загрузки в приложении. Событие готовности страницы запускается после загрузки страницы. Однако при работе в соусных лабораториях событие не запускается на случайной странице и тест не пройден.
Есть ли способ продолжить испытания, если событие не сработало?
return remote.get(url)
.setExecuteAsyncTimeout(20000)
.then(function() {
var pageLoadEvent = conf.get("pageLoadEvent");
console.log("waiting for " + pageLoadEvent + " event to occur");
remote.executeAsync(function(done) {
window.addEventListener(pageLoadEvent, function() {
done();
}, false);
}, []);
})
1 ответ
Вы можете использовать catch
обратный звонок после executeAsync
потреблять ошибку, хотя, если событие ready можно пропустить, действительно ли это необходимо для проверки?
Вы также должны вернуть результат любых командных цепочек, созданных в then
обратный вызов для обеспечения правильной работы асинхронной цепочки. В противном случае внешняя цепочка команд продолжится, не дожидаясь executeAsync
завершить.
return remote.executeAsync(function (done) {
...
}).catch(function (error) {
// Do nothing here to consume the error, or rethrow it to have the test fail.
})