我想在我的测试中关闭并启动一个新的浏览器/窗口,所以我尝试了:
browser.close();
driver.close();
driver = new ChromeDriver()
输出:
org.openqa.selenium.remote.SessionNotFoundException at myTest.groovy:169
Linea 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 */
My GebConfig.groovy:
driver = {
System.setProperty('webdriver.chrome.driver', '.\\drivers\\ChromeDriver\\chromedriver.exe')
newDriver = new ChromeDriver()
newDriver.manage().window().maximize();
autoClearCookies = false
return newDriver;
}
我需要做的就是关闭当前窗口,打开一个新窗口并从另一个测试开始。
答案 0 :(得分:0)
请注意browser.close()
调用driver.close()
,因此您基本上会调用driver.close()
两次。
您真正需要的是通过调用CachingDriverFactory.clearCacheAndQuitDriver()
清除驱动程序缓存(我假设您正在使用缓存,因为它是默认设置),然后创建Browser
的新实例使用browser = new Browser()
将创建Driver
的新实例。