2017-03-07 116 views
1

driver.quit()导致“火狐停止工作”driver.quit()导致“火狐停止工作”

  1. 的测试不失败,但每次driver.quit被称为浏览器崩溃,如下面的图片。
  2. 我的代码:

    public void quitDriver() throws Exception { 
        if (null != webdriver) { 
         getDriver().manage().deleteAllCookies(); 
         webdriver.quit(); 
         webdriver = null; 
        } 
    } 
    

工厂类:

case "firefox": 
    if (null == webdriver) { 
     System.setProperty("webdriver.gecko.driver", Constant.GECKO_DRIVER_DIRECTORY); 
     webdriver = new FirefoxDriver(); 
    } 

enter image description here

enter image description here

<dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
+0

你能不能尝试调用driver.close()(),看看是否是帮助? –

+0

@Gaurang Shah感谢您的帮助,我担心它仍然会做同样的事情 – Gbru

+0

您使用的是什么版本的'geckodriver'? –

回答

0

看到这个mozilla/geckodriver releases页面。

v0.14.0 

Changed 

Firefox process is now terminated and session ended when the last window is closed 
WebDriver library updated to version 0.20.0 

在调用quit之前关闭了最后一个窗口吗?

此外,geckodriver仍然是冒险的。尝试移动到:driver.quite前

  • webdriver的V3.3.1
  • geckodriver v0.15.0
+0

我用硒3.3.1运行它。和壁虎0.15.0,并有相同的问题 – Bgvv1983

+0

@ Bgvv1983尝试放置一个调试器停止在退出。浏览器窗口是否关闭?如果是这样,那么你不需要退出。替换为if(driver!= null){driver.quit();} – MikeJRamsey56