繁体   English   中英

使用Selenium接受Windows安全警报

[英]Accept Windows Security Alert with Selenium

环境:我必须使用Selenium测试一个Web应用程序。 在访问起始页之前,将引发Windows安全警报。 由于alert / verification-popup在操作系统级别上,因此硒Alert-api无法处理它。

解决方法:要访问该页面,我编写了一个脚本,该脚本填充了用户名和密码,然后单击Enter(脚本代码来自: https : //automationtestingsimplified.wordpress.com/2011/08/11/how-to-handle-window-基于使用硒和自动弹出的弹出窗口/ )。

要解决的问题:Selenium引发“ UnhandledAlertException:存在模态对话框”,尽管模态对话框已被接受。

我试过了:

  • 通过alert-api访问模态对话框。 问题出在这里,我不能填写用户名。 即使我使用机器人。 “driver.switchTo()警报()接受();”。 也行不通。
  • 让驱动程序等待,直到没有出现警报为止“ wait.until(ExpectedConditions.not(ExpectedConditions.alertIsPresent()));”
  • 接受对话框,如果已接受,则事件。

可能的解决方案:忽略对话框或将其设置为驱动程序中不存在。 但是我找不到解决方案。

我遇到了同样的问题。 在找到更好的解决方案之前,我正在使用机器人将密钥发送给警报以接受警报

private void acceptAlert() {
    try {
        Robot robot = new Robot();
        robot.keyPress(KeyEvent.VK_TAB);
        robot.keyPress(KeyEvent.VK_ENTER);
    } catch (AWTException e) {
        e.printStackTrace();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM