多浏览器WebDriver Selenium

时间:2014-06-16 06:09:02

标签: selenium browser webdriver

我正在进行Selenium测试项目,我需要在初始设置时启动两个浏览器。

然后我需要在这些浏览器之间切换。

所以我将[Window1] [Window2]

我想通过[Window1]运行测试,然后切换到[Window2]以检查[Window1]中完成的操作的结果

关于如何做的任何想法?

我试过driver.switchTo().window()但没有运气。

非常感谢任何帮助。感谢

3 个答案:

答案 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);
}