我在使用java-selenium中的geckodriver(FF)時遇到問題。 我通過TEST-NG並行執行(6 +線程)運行多個測試場景。UnreachableBrowserException firefox driver selenium java
有時會發生,在開始(打開新的瀏覽器)我得到unreachableBrowserException。所以我試着抓住它,等待100ms並嘗試再次創建它。它的工作原理,但它保持打開第一個失敗的瀏覽器,一個空白頁。
問題是第一個窗口在被初始化爲驅動程序之前被打開,所以它不能被driver.close()或其他東西(它爲null)關閉。所以我必須手動關閉它們。
所以,我的問題是,有沒有人遇到過這樣的行爲? 如何關閉此類瀏覽器,而不影響其他線程?
while(true) {
try {
setDriver(DriverFactory.createInstance(getBrowserInstance()));
break;
} catch (UnreachableBrowserException e) {
try {
Thread.sleep(100);
log.info("UnreachableBrowserException! Needed to wait for 100ms ");
removeDriver();
counter++;
} catch (Exception e1) {
log.info("Thread could not wait!");
e1.printStackTrace();
}
}
if(counter>100){
log.info("Was not able to create a browser session!");
break;
}
}
和.createInstance部分:
final ProfilesIni profilesIni = new ProfilesIni();
System.setProperty("webdriver.gecko.driver", "drivers/geckodriver.exe");
System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"false");
firefoxProfile = new FirefoxProfile();
firefoxProfile.setAcceptUntrustedCertificates(true);
firefoxProfile.setAssumeUntrustedCertificateIssuer(false);
firefoxProfile.setPreference("app.update.auto", false);
firefoxProfile.setPreference("app.update.enabled", false);
firefoxProfile = profilesIni.getProfile("selenium_profile");
capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
return new FirefoxDriver(capabilities); //Here it throws the exception.
硒/的Java/geckodriver版本是最新的。 FF版本不幸的是44.02(不能更新)。 我會很感激任何提示/提示。
親切的問候, 馬丁