Java 使用selenium处理IE中刷新时的警报

Java 使用selenium处理IE中刷新时的警报,java,internet-explorer,testing,selenium,Java,Internet Explorer,Testing,Selenium,我正在使用IEDriver测试我的Web应用程序。我的测试是用Java编写的,驱动程序定义如下: System.setProperty("webdriver.ie.driver","C:\\Selenium\\IE\\IEDriverServer.exe"); DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerD

我正在使用IEDriver测试我的Web应用程序。我的测试是用Java编写的,驱动程序定义如下:

System.setProperty("webdriver.ie.driver","C:\\Selenium\\IE\\IEDriverServer.exe");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
提交表单后,当测试模拟F5时,我面临以下问题:

Actions actions = new Actions(driver);
actions.keyDown(Keys.CONTROL).sendKeys(Keys.F5).perform();
因此,IE窗口显示如下内容:

我试着通过表演来跳过它

actions.keyDown(Keys.CONTROL).sendKeys(Keys.ENTER).perform();

据我所知,这个窗口不是警报,所以司机不能切换到它。
那么,有没有办法在此窗口中执行“重试”?

可以使用Java Robot实用程序单击“重试”按钮。示例代码如下所示:

Robot robot = new Robot();
robot.keyPress(java.awt.event.KeyEvent.VK_ENTER);
robot.keyRelease(java.awt.event.KeyEvent.VK_ENTER);

希望有帮助

如果使用
F5
,则页面将刷新已修改的项目,并考虑
缓存
,因此您将收到警告

相反,尝试重新加载整个页面,例如

driver.navigate().refresh();
这将在没有任何警告的情况下加载页面。这篇文章将给你一些见解


寻找

谢谢你的回答,但在我的测试中,我有两种可能性。使用
driver.navigate().refresh()进行测试和F5
driver.navigate().refresh();