我的测试用例在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>
非常感谢任何帮助
答案 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());
}
}