自从昨天浏览器更新以来,我的测试将无法开始,我收到消息:
There was an error creating WebDriver object for Chrome
我将 Selenium Jupiter 与 @TestTemplate 一起使用,我的 browsers.json 看起来:
{
"browsers": [
[
{
"type": "chrome",
"version": "latest"
}
]
]
}
这是我的依赖项:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.14.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.5.3</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>selenium-jupiter</artifactId>
<version>4.3.7</version>
<scope>test</scope>
</dependency>
我认为 webdrivermanager 可以解决该版本问题。 我对 Selenium 的体验并不是那么丰富,因为我只使用了几周。
有没有办法跟上最新的浏览器版本?
您正在使用 WebDriverManager,它通常应该处理浏览器驱动程序兼容性。但有时问题仍然会发生,尤其是在浏览器更新之后。以下是一些调试和解决步骤:
检查 Chrome 版本:确保您本地的 Chrome 版本与正在下载的 ChromeDriver 匹配。如果没有,请更新 Chrome。
强制更新WebDriverManager:在初始化WebDriver之前,调用:
WebDriverManager.chromedriver().forceDownload().setup();
这将强制 WebDriverManager 下载最新版本。
日志:查看 WebDriverManager 日志以识别正在下载的内容。您可以通过将以下内容添加到您的
log4j.properties
或同等内容来启用日志记录:
log4j.logger.io.github.bonigarcia=DEBUG
手动下载:作为最后的手段,手动下载兼容的ChromeDriver并设置其路径:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
依赖项:将 WebDriverManager 和 Selenium-Jupiter 更新到您的
pom.xml
中的最新版本。
如果您已尝试所有这些方法并且问题仍然存在,则这可能是一个错误,报告它会很有帮助。
请记住,如果您在 CI/CD 环境中运行测试,请确保同时更新 Chrome 和 ChromeDriver。