以下是什么样的错误。当我在eclipse中执行webdriver脚本时会发生这种情况:
2014年6月20日下午1:20:54 org.openqa.selenium.os.UnixProcess $ SeleniumWatchDog destroyHarder 信息:命令无法完全关闭。强行摧毁(v2)。 org.openqa.selenium.os.UnixProcess$SeleniumWatchDog@118ed3c
答案 0 :(得分:5)
这是一个错误。如果你使用的是firefox 30,我认为你必须将你的firefox降级到29。
请查看以下网址以获取更多信息
答案 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停止绿色循环之前发生,因此您可能需要稍微闲置一下。
进一步调查表明,这在很大程度上取决于申请本身(在我的情况下,不起作用)例如。当我在应用程序的登录页面上时,我无法退出,而在仪表板上一切都很好。
我建议您尝试以下方法:
driver.navigate().refresh();
或类似的东西。<强> UPD:强>
答案 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