首页 > 解决方案 > 同一台机器上不同项目的chromedriver崩溃问题

问题描述

它可能看起来重复的问题,但找不到合适的解决方案。所以在这里提出任何建议。

我在同一台机器上有两个不同文件夹的项目,一个是 BDD 框架,另一个是 TestNG 框架。我在'/resources'文件夹下的两个框架上使用相同的chromedriver(ChromeDriver 81.0.4044.138),并使用它来启动如下。

System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
WebDriver browser = new ChromeDriver(options);
browser.manage().window().maximize();
browser.manage().deleteAllCookies();

当我运行我的 BDD 框架时,它会启动 chrome 并执行我的测试。但是在运行 TestNG 框架时,它给出了以下错误。

Starting ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}) on port 5661
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: '<host>', ip: '<ip>', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_251'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
    Ordinal0 [0x00355E93+2449043]
    Ordinal0 [0x00288281+1606273]
    Ordinal0 [0x0017F889+522377]

我通过mvn clean install命令将我的 BDD 作为 maven 项目运行,并以正常的右键单击和run as test class文件运行 TestNG 项目。

我在这里缺少什么,请对此提供任何帮助。

已更新 chrome 版本.......

BDD 项目的版本

c:\BDD\Test_Project\src\test\resources\Drivers>chromedriver.exe --version                                                             
ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}) 

TestNG 项目中的版本

c:\Users\user\Downloads\gca_automation\src\test\resources>chromedriver.exe --version                                                          
ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999})

我的 chrome 浏览器版本Version 81.0.4044.129 (Official Build) (64-bit)

标签: javaselenium-webdriverselenium-chromedrivertestngbdd

解决方案


chromedriverchrome的安装版本和安装版本之间需要兼容。

检查您的 chrome 版本并确保您拥有适当的 chromedriver 版本,您应该在下载 chrome 的官方网站上看到建议
(现在为https://chromedriver.chromium.org/downloads)。

提示:您可以使用webdrivermanager来自 bonigarcia 的产品。这是一个自动为您管理 chromedriver 的库,它将检查 chrome 版本并获取您需要的版本并设置webdriver.chrome.driver

也不要以 root 身份运行。

更新:杀死所有 chrome 和 chromedriver 进程,在设置驱动程序路径时使用 File.separator,例如
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + File.separator + "chromedriver.exe");


推荐阅读