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']
        }
    }
}

非常感谢你的推荐。