使用相同的webdriver进行2次测试

时间:2015-07-28 12:50:25

标签: java selenium selenium-webdriver selenium-chromedriver

我正在尝试使用相同的WebDriver实例在行中运行一些测试。每次测试后我都在执行:update 第一次测试通过但是第二次尝试拨打select `Ticket number` , max(`datetime`) , category , (select `update` from `table` ts where ts.`ticket number` = t.`ticket number` and ts.category = t.category) as `update` from `table` t GROUP BY `Ticket Number`, category, (select `update` from `table` ts where ts.`ticket number` = t.`ticket number` and ts.category = t.category) 时收到错误:

driver.close();

有一个类似的问题Using same Webdriver 2 times,但尚未解决。

3 个答案:

答案 0 :(得分:1)

您的浏览器已关闭。所以你必须重新启动浏览器。

你可以做以下事情。

driver = new FirfoxDriver();
driver.get(url);

答案 1 :(得分:1)

您不能在行中使用相同的WebDriver进行2次测试,如果使用driver.close()关闭驱动程序,则 ,原因很简单,如果它是最后一个打开的窗口,它将退出浏览器可以在documentation中找到。

  

关闭当前窗口,如果它是最后一个窗口,则退出浏览器   目前正在开放。

退出后无法使用驱动程序。

答案 2 :(得分:0)

通常建议不要在测试用例之间共享状态,例如浏览器和其他对象 - 这会阻止您拥有一个测试依赖另一个测试的依赖关系,并且您不确定每个测试离开浏览器的状态。

最佳做法是在需要WebDriver实例的相应的Before和After测试方法中初始化驱动程序实例并关闭它。

Driver.Close()将关闭当前打开的窗口,如果它是最后一个打开的窗口,则退出浏览器。