2016-09-26 37 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的實例。