Javascript 量角器:如何检测是否打开了意外警报
在我们的一个测试中,有时当用户试图注销时,我们会收到浏览器警报消息 我不希望测试因这些警报而失败。当出现警报时,我们得到以下错误:Javascript 量角器:如何检测是否打开了意外警报,javascript,protractor,Javascript,Protractor,在我们的一个测试中,有时当用户试图注销时,我们会收到浏览器警报消息 我不希望测试因这些警报而失败。当出现警报时,我们得到以下错误: An error was thrown in an afterAll AfterAll Failed: unexpected alert open: {Alert text : You have unsaved changes! If you leave, your changes will be lost.} 我已经试图通过以下方式解决它 1.在conf.js
An error was thrown in an afterAll
AfterAll Failed: unexpected alert open: {Alert text : You have unsaved changes! If you leave, your changes will be lost.}
我已经试图通过以下方式解决它
1.在conf.js文件中添加了未预料到的AlertBehaviour:“accept”,但失败;2,使用if/else块修改代码,如下所示:
exports.logOutfromESY =function(){
var G = GV;
var EC = protractor.ExpectedConditions;
expect(G.User_Menu_Dropdown.isPresent()).toBeTruthy();
G.User_Menu_Dropdown.click();
browser.wait(EC.presenceOf(G.logOut_Button), 2000, 'The Logout Buttons taking too long to appear in the DOM');
G.logOut_Button.click();
browser.sleep(500);
if(alert.isPresent()){
browser.switchTo().alert().then(function (alert) {
alert.accept();
});
}
browser.wait(EC.presenceOf(G.Email_Input_box), 3000, 'The Login Page redirection taking long time');
browser.sleep(500);
};
它也不起作用。请注意,“alert”变量是我最后一次尝试使用量角器来识别警报
有什么办法可以做到这一点吗?这个解决方案似乎很有帮助: 编辑: 您也可以考虑使用<代码>禁用通知 FLAG. 您需要将其添加到配置文件中,如下所示:
export const config = {
capabilities: {
chromeOptions: {
args: ['--disable-notifications']
}
}
}
非常感谢你的推荐。