以下代码在selenium中没有给出这样的会话异常。
WebDriver webdriver= new ChromeDriver();
webdriver.get(appUrl);
webdriver.close();
webdriver.get(appUrl);
我的要求是打开浏览器,做一些事情,关闭它。打开另一个浏览器,做一些事情。为此,我试图使用单个webdriver实例,它会抛出错误。为什么呢?
答案 0 :(得分:0)
因为API documentation告诉我们:
关闭当前窗口,如果它是最后一个窗口,则退出浏览器 目前正在开放。
这应该有效(重新实例化你的驱动程序):
WebDriver webdriver= new ChromeDriver();
webdriver.get(appUrl);
webdriver.close();
webdriver= new ChromeDriver();
webdriver.get(appUrl);
答案 1 :(得分:0)
会抛出错误 “org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死亡”
您需要做的是创建新的浏览器实例
SELECT TOP(1)
答案 2 :(得分:0)
抛出错误是因为,当你说的是driver.close();它正在杀死当前的实例。杀死当前实例后,您必须创建一个新实例。因此,您可以使用相同的驱动程序再次启动chrome。
WebDriver driver= new ChromeDriver();
driver.get("http://www.google.com");
driver.close();
driver= new ChromeDriver();
driver.get("http://www.google.com");
答案 3 :(得分:0)
在这篇文章的所有答案中我得出结论,如果我为我的测试运行单个浏览器,以下代码是最好的
WebDriver webdriver= new ChromeDriver();
webdriver.get(appUrl);
webdriver.quit();
webdriver= new ChromeDriver();
webdriver.get(appUrl);