SessionNotFoundException 用 Selenium + geb 打开一个新的浏览器
SessionNotFoundException opening a new browser with Selenium + geb
我想在我的测试中关闭并开始一个新的 browser/window,所以我尝试了:
browser.close();
driver.close();
driver = new ChromeDriver()
输出:
org.openqa.selenium.remote.SessionNotFoundException at myTest.groovy:169
169 号线是:
driver.close();
我放在 browser.close() 之后的所有内容都会输出相同的错误。
我也尝试过存储 cookie 和配置:
设置 allCookies = driver.manage().getCookies();
for(Cookie cookie : allCookies)
{
driver.manage().addCookie(cookie);
System.out.println(cookie);
}
browser.driver = browser.config.driver */
我的GebConfig.groovy:
driver = {
System.setProperty('webdriver.chrome.driver', '.\drivers\ChromeDriver\chromedriver.exe')
newDriver = new ChromeDriver()
newDriver.manage().window().maximize();
autoClearCookies = false
return newDriver;
}
我需要做的就是关闭当前 window,打开一个新的并开始另一个测试。
请注意,browser.close()
调用了 driver.close()
,因此您实际上调用了 driver.close()
两次。
您真正需要的是通过调用 CachingDriverFactory.clearCacheAndQuitDriver()
清除驱动程序缓存(我假设您使用的是默认缓存),然后创建 [=14 的新实例=] 使用 browser = new Browser()
将创建 Driver
.
的新实例
我想在我的测试中关闭并开始一个新的 browser/window,所以我尝试了:
browser.close();
driver.close();
driver = new ChromeDriver()
输出:
org.openqa.selenium.remote.SessionNotFoundException at myTest.groovy:169
169 号线是:
driver.close();
我放在 browser.close() 之后的所有内容都会输出相同的错误。
我也尝试过存储 cookie 和配置: 设置 allCookies = driver.manage().getCookies();
for(Cookie cookie : allCookies)
{
driver.manage().addCookie(cookie);
System.out.println(cookie);
}
browser.driver = browser.config.driver */
我的GebConfig.groovy:
driver = {
System.setProperty('webdriver.chrome.driver', '.\drivers\ChromeDriver\chromedriver.exe')
newDriver = new ChromeDriver()
newDriver.manage().window().maximize();
autoClearCookies = false
return newDriver;
}
我需要做的就是关闭当前 window,打开一个新的并开始另一个测试。
请注意,browser.close()
调用了 driver.close()
,因此您实际上调用了 driver.close()
两次。
您真正需要的是通过调用 CachingDriverFactory.clearCacheAndQuitDriver()
清除驱动程序缓存(我假设您使用的是默认缓存),然后创建 [=14 的新实例=] 使用 browser = new Browser()
将创建 Driver
.