Sak*_*uma 2 javascript selenium webdriver cucumber protractor
我正在运行量角器和黄瓜.对于许多测试,结果是有问题的,并且有时会产生警报框.
我想做的是在每个测试的开始方法中,检查是否有警报框,然后关闭/关闭它.然后继续.我面临的问题是,我不能保证总会有一个警告框,如果没有,我得到一个NoSuchAlertError: no alert open,整个脚本停止.
有没有办法解决?
当前代码:
try {
browser.switchTo().alert().dismiss();
}catch(err){
}
Run Code Online (Sandbox Code Playgroud)
driver.switchTo().alert().then(
function (alert) { alert.dismiss(); },
function (err) { }
);
Run Code Online (Sandbox Code Playgroud)
这对我有用.如果有警报,它会解除警报,如果不存在则不采取任何措施.
改变dismiss()了accept(),如果你想接受的,而不是解雇警报(OK)(取消).
//dismiss "wrong credentials" alert
browser.driver.sleep(2000);
browser.switchTo().alert().accept().then(null, function(e) {
if (e.code !== webdriver.ErrorCode.NO_SUCH_ALERT) {
throw e;
}
});
Run Code Online (Sandbox Code Playgroud)
这在Protractor 2.0中对我有用.我确信有一个更好的解决方案,不涉及使用sleep().然而,经过几个小时的挫折之后,我很高兴看到一些有用的东西.
异常处理来自:https://code.google.com/p/selenium/wiki/WebDriverJs
| 归档时间: |
|
| 查看次数: |
9391 次 |
| 最近记录: |