4

我进行了很多研究并使用了各种论坛中提到的许多可能的解决方案,但没有一个对我有用。我正在尝试在 CI/CD 管道中运行它,尽管能够在本地运行量角器测试用例并且能够启动浏览器,但在 CI/CD 管道构建中它失败了下面是量角器 2.5.4 E 发生的问题的详细信息/launcher - 未创建会话:此版本的 ChromeDriver 仅支持 Chrome 版本 79

我在 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/downloader - 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.zipI/update - chromedriver:解压缩 chromedriver_79.0.3945.36.zip I/launcher - 运行 1 个 WebDriver 实例 I/direct - 直接使用 ChromeDriver... E/launcher - 未创建会话:此版本的 ChromeDriver 仅支持 Chrome 版本 79当我使用以下脚本命令时,我得到 76 的版本问题

"postinstall": "webdriver-manager update"

I/update - chromedriver: 文件存在 D:\a\1\s\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_76.0.3809.12.zip I/update - chromedriver: 解压 chromedriver_76.0.3809.12.zip I/update - chromedriver: chromedriver_76.0.3809.12.exe 已更新 I/launcher - 运行 1 个 WebDriver 实例 I/direct - 直接使用 ChromeDriver... E/launcher - 未创建会话:此版本的 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/"
}
}

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

4

2 回答 2

7

以下应该可以工作(在 Mac 上测试)。

npx webdriver-manager update --versions.chrome=$(/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version | cut -d ' ' -f 3)
于 2020-05-26T13:05:17.260 回答
2

请提及版本并尝试下载chromedriver。

例如,如果 chorme 版本是 79

webdriver-manager update --versions.chrome 79.0.3945.36

如果版本是 76,

webdriver-manager update --versions.chrome 76.0.3809.68
于 2019-12-19T11:42:23.007 回答