会话未创建异常与黄瓜脚本
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");
当我 运行 我的 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");