关于destroyHarder的Selenium Webdriver错误

时间:2014-06-20 07:55:38

标签: eclipse selenium

以下是什么样的错误。当我在eclipse中执行webdriver脚本时会发生这种情况:

  

2014年6月20日下午1:20:54 org.openqa.selenium.os.UnixProcess $ SeleniumWatchDog destroyHarder   信息:命令无法完全关闭。强行摧毁(v2)。 org.openqa.selenium.os.UnixProcess$SeleniumWatchDog@118ed3c

6 个答案:

答案 0 :(得分:5)

这是一个错误。如果你使用的是firefox 30,我认为你必须将你的firefox降级到29。

请查看以下网址以获取更多信息

https://code.google.com/p/selenium/issues/detail?id=7506

答案 1 :(得分:3)

我在一个测试项目中遇到了这个问题。

初步调查使我得出结论,在页面仍在加载时尝试退出firefox时会出现这种情况(选项卡中的绿色圆圈)

如果您使用Java,可以尝试以下操作:

ExpectedCondition<Boolean> pageLoadFinishedCondition = new ExpectedCondition<Boolean>() {
        public Boolean apply(WebDriver driver) {
            return ((JavascriptExecutor) driver).executeScript(
                    "return document.readyState").equals("complete");
        }
    };

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(pageLoadFinishedCondition);

<强> UPD:

但请注意,'fire ready'事件会在firefox停止绿色循环之前发生,因此您可能需要稍微闲置一下。

进一步调查表明,这在很大程度上取决于申请本身(在我的情况下,不起作用)例如。当我在应用程序的登录页面上时,我无法退出,而在仪表板上一切都很好。

我建议您尝试以下方法:

  1. 降级到Firefox&lt; 30(问题仍然存在于33)
  2. 在应用程序的另一个页面上退出(在这里发明一些存根)
  3. 制作driver.navigate().refresh();或类似的东西。
  4. 退出之前的巨人闲置()有时会帮助,例如2 * implicitlywait
  5. <强> UPD:

    1. 此外,删除 plugin-container.exe 可能有所帮助。请注意,删除一个后,闪存不再加载到我的页面中。

答案 2 :(得分:1)

自从我升级到Firefox以来,我也遇到了同样的问题。像Firefox插件的插件兼容性错误。我不确定降级是否会有所帮助。

但我删除了driver.quit();从我的代码开始,因为即使在执行脚本后我也不希望浏览器关闭。这样就停止了错误。

答案 3 :(得分:0)

在Test annotation中添加try catch块。

try {
    Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}

或者你也可以尝试这个

try{
driver.close();
}
} catch (InterruptedException e) {
e.printStackTrace();
}

在注释之后。

它应该解决问题。

答案 4 :(得分:0)

而不是简单

driver.quit();

使用:

driver.close();

try {
Thread.sleep(5000);
driver.quit();
} catch (Exception e) {
}

答案 5 :(得分:-1)

这对我有用,很有趣。但它适用于当close()与quit()相同时只打开一个浏览器的情况。

vDocText