量角器2.5.4 E /启动器-未创建会话:此版本的ChromeDriver仅支持Chrome版本79

时间:2019-12-18 17:14:06

标签: angular selenium-webdriver protractor webdriver-manager

我研究了很多,并使用了各种论坛中提到的许多可能的解决方案,但没有一个对我有用。我正在尝试在CI / CD管道中运行此程序,尽管能够在本地运行量角器测试用例并能够启动浏览器,但在CI / CD管道构建中,以下是失败的细节

我在package.json中的脚本下使用以下postinstall

"postinstall": "npm uninstall -g webdriver-manager protractor && npm install -g webdriver-manager protractor && webdriver-manager update && cd ./node_modules/protractor && npm i webdriver-manager@latest",

"postinstall": "cd ./node_modules/protractor && npm i webdriver-manager@latest",

对于以下脚本命令,将引发以下错误 I / file_manager-创建文件夹D:\ a \ 1 \ s \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium I / config_source-curl -oD:\ a \ 1 \ s \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ chrome-response.xml https://chromedriver.storage.googleapis.com/ I /下载程序-curl -oD:\ a \ 1 \ s \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium / chromedriver_79.0.3945.36.zip https://chromedriver.storage.googleapis.com/79.0.3945.16/chromedriver_win32.zip 我/更新-chromedriver:解压缩chromedriver_79.0.3945.36.zip I /启动器-运行1个WebDriver实例 I / direct-直接使用ChromeDriver ... E /启动器-未创建会话:此版本的ChromeDriver仅支持Chrome版本79

当我使用下面的脚本命令时,我会得到76的版本问题

    "postinstall": "webdriver-manager update"

I /更新-chromedriver:文件存在D:\ a \ 1 \ s \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ chromedriver_76.0.3809.12.zip 我/更新-chromedriver:解压缩chromedriver_76.0.3809.12.zip I /更新-chromedriver:chromedriver_76.0.3809.12.exe是最新的 I /启动器-运行1个WebDriver实例 I / direct-直接使用ChromeDriver ... E /启动器-未创建会话:此版本的ChromeDriver仅支持Chrome版本76   (驱动程序信息:chromedriver = 76.0.3809.12

下面是webdriver-manager下的config.json

{
"webdriverVersions": {
"selenium": "2.53.1",
"chromedriver": "2.27",
"maxChromedriver": "77",
"geckodriver": "v0.13.0",
"iedriver": "2.53.1",
"androidsdk": "24.4.1",
"appium": "1.6.5"
 },
 "cdnUrls": {
"selenium": "https://selenium-release.storage.googleapis.com/",
"chromedriver": "https://chromedriver.storage.googleapis.com/",
"geckodriver": "https://github.com/mozilla/geckodriver/releases/download/",
"iedriver": "https://selenium-release.storage.googleapis.com/",
"androidsdk": "http://dl.google.com/android/"
}
}

尝试了许多可能在管道构建中使用的命令,但是没有一个命令可以帮助我。任何人都可以提出可能的问题吗?

2 个答案:

答案 0 :(得分:0)

自昨天下午将其从78更改为79以来,我一直遇到相同的问题。今天,当我通过ng e2e运行无头浏览器E2E测试时,我得到:[09:27:16] E / launcher -未创建会话:此版本的ChromeDriver仅支持Chrome版本79 (驱动程序信息:chromedriver = 79.0.3945。 16 (93fcc21110c10dbbd49bbff8f472335360e31d05-refs / branch-heads / 3945 @ {#262 }),platform = Windows NT 10.0.18362 x86_64)。我研究了要使用哪个版本的chromedriver,它说的是79.0.3945.36,所以我这样做了: npm install chromedriver update --versions.chrome = 79.0.3945。 36 与此: npm安装webdriver-manager更新。仍然没有运气。

有人可以帮助我将量角器版本更改为新版本吗?非常感谢,因为我们必须退出端到端的E2E测试,目前正在跳过这些测试。

我正在使用的当前浏览器是版本79.0.3945.88(正式版本)(64位)。

我在webdriver-manager下的config.json看起来和你一样。

我使用的量角器版本不同: 5.4.2 ,因为我也做了 npm install protractor @ latest --save-dev

答案 1 :(得分:0)

这是我在StackOverflow中的第一个答案。 在工作期间,在进行新更新后,我遇到了同样的问题。我尝试了@ptiiCarlos提到的相同操作,但是没有解决。不幸的是,所有其他答案都很老,但是我有一些观点可以帮助我解决问题。

我是如何做到的(Windows 10):

  • 检查了当前的全局chromedriver版本:webdriver-manager status
      

    在我的情况下是 79.0.3945.36

  • 降级了全局chromedriver版本:webdriver-manager update --versions.chrome 78.0.3904.105
  • 再次检查当前的全局chromedriver版本
      

    在我的情况下:[03:34:20] I /状态-可用的chromedriver版本: 78.0.3904.105 [最新],79.0.3945.36

  • 检查了当前应用程序chromedriver版本:node node_modules/protractor/bin/webdriver-manager status
      

    在我的情况下是 79.0.3945.36

  • 降级了应用chromedriver版本:node node_modules/protractor/bin/webdriver-manager update --versions.chrome 78.0.3904.105
  • 再次检查了当前应用程序chromedriver版本。
      

    在我的情况下:[03:35:15] I /状态-可用的chromedriver版本: 78.0.3904.105 [最新],79.0.3945.36

  • 卸载Google Chrome
  • Install Google Chrome Version 78.0.3904.97
  • Prevent Chrome from updating
  • 运行测试

编辑:

您不需要降级Google Chrome。