我正在进行Selenium测试项目,我需要在初始设置时启动两个浏览器。
然后我需要在这些浏览器之间切换。
所以我将[Window1] [Window2]
我想通过[Window1]运行测试,然后切换到[Window2]以检查[Window1]中完成的操作的结果
关于如何做的任何想法?
我试过driver.switchTo().window()
但没有运气。
非常感谢任何帮助。感谢
答案 0 :(得分:3)
driver.switchTo().window()
仅在现有窗口中的任何操作打开新窗口时才有效。如果您使用不同的驱动程序打开不同的窗口,那么它将无法正常工作
在这种情况下,您需要选择适当的驱动程序实例来控制新窗口。
假设您有webdriver的实例
// Window 1
WebDriver chrome = new ChromeDriver()
// Window 2
WebDriver firefox = new FirefoxDriver()
现在,只要您想与Window 1交互并使用chrome
与Window 2进行交互,就可以使用firefox
。
答案 1 :(得分:1)
只需使用两个驱动程序实例:
WebDriver driver1 = new ChromeDriver()
WebDriver driver2 = new FirefoxDriver()
如果你愿意,可以使它们具有相同的味道。
答案 2 :(得分:0)
您需要将参数作为窗口名称传递,否则您可以获取所有窗口句柄,然后切换到特定的窗口句柄。
您可以使用:
driver.switchTo().window("windowName");
或:
for (String handle : driver.getWindowHandles()) {
driver.switchTo().window(handle);
}