会话未创建异常与黄瓜脚本

Session not created Exception with cucumber scripts

当我 运行 我的 selenium 黄瓜脚本时,我不断收到以下错误。我一直 运行 使用 chrome 版本 72 的脚本,突然遇到这个问题,并尝试降级到较低版本但没有成功,也没有成功升级到最新版本 73。

Caused by: org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 74
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.28 seconds

可能您正在使用自动下载浏览器二进制文件的 WebDriverManager。似乎它正在尝试下载最新的 chrome 驱动程序二进制文件,这可能与您的 chrome 浏览器安装版本不兼容,比如说 72(我的猜测)。如果是这样,在这种情况下,我们必须告诉 WebDriverManager 下载 chrome 与您的浏览器版本 72 兼容的驱动程序二进制文件。为此,请参考以下行并更新您的代码。

WebDriverManager.chromedriver().version("2.46").setup(); 

注意 - 我们添加了版本(“2.46”),这意味着 WebDriverManager 只会找到此特定版本的 chrome 驱动程序二进制文件。

让我们知道这是否解决了您的问题。

WebDriverManager 仅在您使用最新的 chrome version.then 时帮助您,在这种情况下,WDM 会自动将最新的 chrome 驱动程序二进制文件下载到本地缓存中。

示例:Chrome 本地机器上安装的浏览器是 72,如果您在脚本中使用 WDM 以避免轻松升级到 chrome 驱动程序最新版本,那么 WDM 会自动下载最新的 chrome 驱动程序版本,即 74

通过写这篇文章,

WebDriverManager.chromedriver().setup();

但这会在 chrome 浏览器和 chrome 驱动程序之间造成不兼容问题。两个版本不同。

如果您 select 的 chrome 驱动程序版本如下所述,那么这将解决您的问题。

WebDriverManager.chromedriver().version("2.46").setup();

如果我必须提到所有这些员工,那我为什么不使用 JVM 属性 System.setproperty("key","path");