我试图测试当我关闭窗口弹出窗口显示一条警告消息。Selenium关闭浏览器弹出窗口
在确定我在正确的窗口后,我试过了driver.close()和driver.quit(),但是这只是终止了这个过程,因为我的弹出窗口没有显示。
我可以使用awt Robot测试它并发送alt + f4,但这看起来不太可靠。
什么是正确的方法来做到这一点?
我试图测试当我关闭窗口弹出窗口显示一条警告消息。Selenium关闭浏览器弹出窗口
在确定我在正确的窗口后,我试过了driver.close()和driver.quit(),但是这只是终止了这个过程,因为我的弹出窗口没有显示。
我可以使用awt Robot测试它并发送alt + f4,但这看起来不太可靠。
什么是正确的方法来做到这一点?
而不是使用driver.quit()
关闭浏览器,使用Actions对象关闭它可能适用于您。这是使用键盘快捷键关闭浏览器的另一种方法。
Actions act = new Actions(driver);
act.sendKeys(Keys.chord(Keys.CONTROL+"w")).perform();
或者,如果有多个选项卡在驱动程序窗口打开:
act.sendKeys(Keys.chord(Keys.CONTROL,Keys.SHIFT+"w")).perform();
你需要切换到警报如果显示的警报接受或驳回,然后调用driver.quit();
if(driver.switchTo().alert() != null)//switches only if alert is displayed
{
Alert alert = driver.switchTo().alert();
alert.dismiss(); // alert.accept();
}
driver.quit();
希望这有助于你......好心回来,如果它是不适合你
工作嗨。 driver.quit()已经关闭了浏览器,没有问任何问题,所以它甚至不会去那个IF。我发现如何做到这一点的唯一方法是发送一个ALT + F4键与AWT机器人,我不是很舒服使用。谢谢。 – Fofole
是警报显示或不关闭浏览器后,你使用的是什么浏览器? – Madhan
在关闭浏览器后,在Chrome和Firefox上弹出窗口。问题是用硒进行测试。正如我所说,在测试期间,我现在发送alt + f4键来测试它,它似乎工作,但我想知道是否有更好的方法来做到这一点。 – Fofole
我认为Selenium强制退出浏览器,因此您无法看到弹出窗口。这可能是硒的限制。 – Manu