当其他浏览器启动时,Testng Parallel停止执行一个浏览器

时间:2015-08-03 15:37:57

标签: internet-explorer firefox selenium testng

我的测试用例在2个浏览器中运行 - IE和Firefox。运行测试时,它会打开IE并开始执行测试。但是一旦打开firefox,IE浏览器就不会执行测试。它突然停止抛出Testng失败消息:在缓存中找不到元素 - 也许页面自查找以来已经改变

以下是我的XML

<parameter name="browser" value ="Firefox"/>

    <classes>

        <class name = "testng.testsuite1"/>

    </classes>

<parameter name="browser" value ="IE"/>

    <classes>


        <class name = "testng.testsuite1"/>

    </classes>

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

在这两种情况下都使用相同的驱动程序,这就是为什么第二次执行开始时,驱动程序被重新初始化,因此IE执行停止。 尝试为两个浏览器创建单独的驱动程序实例。

try{ if(browser.equalsIgnoreCase("ie")){ 
System.setProperty("webdriver.ie.driver", "c://ie//IEDriverServer.exe"); 
WebDriver driver = new InternetExplorerDriver(); 
} else if (browser.equalsIgnoreCase("Firefox")) { 
WebDriver driver = new FirefoxDriver(); 
} 
} catch(WebDriverException e) {
 System.out.println(e.getMessage());
} 
}