当我在 selenium 框架中重新打开 chrome 浏览器时,收到 chrome 未正确关闭的错误消息。
在框架中,我使用以下代码在每个测试用例的开头打开浏览器实例
if (browserType.equalsIgnoreCase("Chrome")) {
try {
System.setProperty("webdriver.chrome.driver", curProj+"\\drivers\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
options.addArguments("disable-infobars");
//options.addArguments("user-data-dir=C:/Users/xw20/AppData/Local/Google/Chrome/User Data");
options.addArguments(chromeProfile);
webdriver = new ChromeDriver(options);
logger.info("getWebDriver - Setting webdriver.chrome.driver system property as: " + System.getProperty("webdriver.chrome.driver"));
}
catch(IllegalStateException e) {
logger.error("The path to the driver executable must be set by the webdriver.chrome.driver system property. ",e.fillInStackTrace());
throw new IllegalStateException("The path to the driver executable must be set by the webdriver.chrome.driver system property.");
}
并最后使用以下代码关闭
driver.close();
driver.quit();
但是当我打开浏览器进行第二个测试用例时,我收到“chrome 没有正确关闭”弹出消息。
我尝试更新 chrome 配置文件的首选项文件中的以下内容,但没有成功
exit_type:Crashed
exited_cleanly:true
配置 :
铬版本:版本 64.0.3282.186(官方版本)(32 位)
硒版本: 3.11.0
根据您的代码,很难分析错误背后的原因chrome 没有正确关闭不知道你的框架结构。也许有关如何的更多细节代码块被调用(即main() or TestNG)会对我们有所帮助。
话虽如此,似乎还有一些因素需要考虑,如下:
- 如果您正在使用现有的Chrome 个人资料通过用户数据目录理想情况下你应该避免开关设置实验选项 and 添加参数用于定制,因为这些应该在各自的范围内设置Chrome 个人资料.
-
当您使用现有的Chrome 个人资料通过用户数据目录根据文档ChromeDriver - 适用于 Chrome 的 WebDriver the path应该指出个人资料目录如下 :
options.add_argument("user-data-dir=C:/Users/xw20/AppData/Local/Google/Chrome/User Data/Profile 2")
您可以在这里找到详细的讨论如何通过 Python 打开 Chrome 配置文件
- 避免使用
driver.close();
并始终调用driver.quit()
within tearDown(){}
方法关闭并销毁网络驱动程序 and 网页客户端优雅地实例。
- 您可以在这里找到详细的讨论PhantomJS Web 驱动程序保留在内存中
- Upgrade JDK到最近的水平JDK 8u162.
- Upgrade Selenium到目前的水平版本3.11.0.
- Upgrade Chrome驱动程序至当前Chrome驱动程序v2.37 level.
- Upgrade Chrome版本到当前版本Chrome v65.x levels.
-
Clean your 项目工作区通过你的IDE and Rebuild您的项目仅具有所需的依赖项。
- Use CCleaner工具可以清除执行之前和之后的所有操作系统杂务测试套件.
- 如果你的基地网页客户端版本太旧,然后通过卸载雷沃卸载程序并安装最新的 GA 和发布版本网页客户端.
- 执行你的
@Test
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)