CircleCi Webdriver Chrome版本必须介于70到73之间

时间:2019-01-12 09:13:30

标签: protractor selenium-chromedriver e2e-testing circleci

我无法理解Circleci上的错误。它说,使用硒镀铬网络驱动程序时,Chrome版本必须在70到73之间。

[21:58:05] I/downloader - curl -o/home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.45.zip https://chromedriver.storage.googleapis.com/2.45/chromedriver_linux64.zip
[21:58:05] I/update - chromedriver: unzipping chromedriver_2.45.zip
[21:58:05] I/update - chromedriver: setting permissions to 0755 for /home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.45
[21:58:05] I/launcher - Running 1 instances of WebDriver
[21:58:05] I/direct - Using ChromeDriver directly...
[21:58:06] E/launcher - session not created: Chrome version must be between 70 and 73
  (Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.4.0-141-generic x86_64)
[21:58:06] E/launcher - SessionNotCreatedError: session not created: Chrome version must be between 70 and 73
  (Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.4.0-141-generic x86_64)
    at Object.checkLegacyResponse (/home/circleci/project/node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (/home/circleci/project/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/home/circleci/project/node_modules/selenium-webdriver/lib/http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/home/circleci/project/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
    at Function.createSession (/home/circleci/project/node_modules/selenium-webdriver/chrome.js:761:15)
    at Direct.getNewDriver (/home/circleci/project/node_modules/protractor/built/driverProviders/direct.js:77:33)
    at Runner.createBrowser (/home/circleci/project/node_modules/protractor/built/runner.js:195:43)
    at q.then.then (/home/circleci/project/node_modules/protractor/built/runner.js:339:29)
    at _fulfilled (/home/circleci/project/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/home/circleci/project/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/home/circleci/project/node_modules/q/q.js:796:13)
    at /home/circleci/project/node_modules/q/q.js:556:49
    at runSingle (/home/circleci/project/node_modules/q/q.js:137:13)
[21:58:06] E/launcher - Process exited with error code 199

发生意外错误:未定义

我的circleci配置文件

version: 2
jobs:
  build:
    docker:
      - image: circleci/node:8.11-browsers
    working_directory: ~/project

    steps:
      - checkout
      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "package.json" }}
            - v1-dependencies-
      - run: npm install
      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "package.json" }}
      - run: npm run lint
      - run: npm run e2e

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

这不是Circle CI特有的问题。我在常规的IDE设置中收到它。问题是您的chromedriver不再与浏览器版本匹配。

修复步骤(我正在使用Mac OSX):  -将chrome浏览器升级到最新版本:当前为74  -将chromedriver升级到最新版本:您可以从他们的网站上手动下载它,或者如果通过brew cask安装,则只需运行brew cask upgrade

答案 1 :(得分:0)

这对我有用。在circle.yml

- run:
  name: Install Chrome
  command: |
    wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
    sudo apt-get update
    sudo apt-get install google-chrome-stable

其他解决方案(例如,使用-browsers码头工人映像)现在不起作用

答案 2 :(得分:0)

一个想法是在.circleci / config.yml文件中下载并安装最新的Chrome(类似于@andriy-baran's注释)。但是,除非有一种方法可以缓存Chrome引擎目录及其依赖项,否则这可能会占用您的构建时间。

答案 3 :(得分:0)

检查您的Chrome版本帮助->关于Google Chrome。 从http://chromedriver.chromium.org/downloads下载匹配的Chromedriver 应该解决问题。