2016-09-26 19 views
0

我想结束,在我的测试启动一个新的浏览器/窗口一个新的浏览器,所以我尝试:SessionNotFoundException打开与硒+创业板

browser.close(); 
driver.close(); 
driver = new ChromeDriver() 

输出:

org.openqa.selenium.remote.SessionNotFoundException at myTest.groovy:169 

凌特169 :

driver.close(); 

我刚刚放置在browser.close()后面的所有内容都会输出相同的错误。我也尝试存储Cookie和配置: Set 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; 

    } 

所有我需要做的是关闭当前窗口,打开一个新的,并用另一个测试开始。

回答

0

请注意,browser.close()调用driver.close(),所以你基本上调用driver.close()两次。

你真正需要的是清除驱动缓存(我假设你正在使用,因为它是默认的缓存)通过调用CachingDriverFactory.clearCacheAndQuitDriver(),然后创建一个使用browser = new Browser()这将创造一个新的Browser一个新实例Driver的实例。