Javascript 量角器-需要在默认行为和jasmine bail fast之间找到一个愉快的方法

Javascript 量角器-需要在默认行为和jasmine bail fast之间找到一个愉快的方法,javascript,testing,jasmine,protractor,automated-tests,Javascript,Testing,Jasmine,Protractor,Automated Tests,我可以和很多专业人士分享关于测试失败时默认量角器行为的沮丧——它只是继续运行测试,而您必须等到它完成后才能修复错误 我读了相关的帖子,发现了jasmine bail fast solution。此处提供了相关帖子的链接: 然而,这个解决方案让我陷入了困境的另一边。当测试套件未能关闭确认消息或遇到类似的小问题时,我不想终止它 我希望能够通过exitonfailure()函数或类似的方法控制何时退出脚本。例如,如果有以下代码块: > browser.wait(function() >

我可以和很多专业人士分享关于测试失败时默认量角器行为的沮丧——它只是继续运行测试,而您必须等到它完成后才能修复错误

我读了相关的帖子,发现了jasmine bail fast solution。此处提供了相关帖子的链接:

然而,这个解决方案让我陷入了困境的另一边。当测试套件未能关闭确认消息或遇到类似的小问题时,我不想终止它

我希望能够通过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.');
并将exitonfailure()放在该块之后,我希望立即退出测试运行。但是,如果exitonfailure()不存在,我希望测试继续运行

有没有一个可行的方法来实现这个目标并掌控自己的命运


谢谢你的帮助

您可以适当地处理
浏览器.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()函数,但没有处理bailFast(),但只取得了部分成功。。。将通过一个单独的问题提供更多细节,因为它们不适合在评论部分。。。