我可以和很多专业人士一样对测试失败时的默认 Protractor 行为感到沮丧 - 它只会继续运行测试,你必须等到它完成才能修复错误。
我阅读了相关帖子并遇到了 jasmine-bail-fast 解决方案。此处提供了相关帖子的链接:Exit Protractor e2e test on fail?
但是,这个解决方案让我陷入困境。我不想在无法关闭确认消息或遇到类似的小问题时终止测试套件。
我希望能够通过 exitonfailure() 函数或类似函数控制何时退出脚本。例如,如果有这段代码:
> browser.wait(function()
> return browser.isElementPresent(acceptBudgetButton);
> }, 30000, 'Error - Unable to save budget changes because Accept Budget button is not visible. Terminating test run.');
并在此 block 之后放置 exitonfailure(),我希望我的测试运行立即退出。但是,如果 exitonfailure() 不存在,我想测试继续运行。
是否有可行的方法来实现这个目标并掌握自己的命运?
感谢您的帮助!
最佳答案
您可以适本地处理 browser.wait()
成功和失败的情况:
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(acceptBudgetButton), 30000).then(
function () {
// success
},
function () {
// failure
console.log('Error - Unable to save budget changes because Accept Budget button is not visible. Terminating test run.');
jasmine.getEnv().bailFast();
}
});
另外,考虑使用 fail()
function未能通过测试。
关于javascript - Protractor - 需要在默认行为和 jasmine-fail-fast 之间找到一个快乐的媒介,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38514618/