【问题标题】:How to make protractor run with puppeteer and chrome 78?如何使量角器与 puppeteer 和 chrome 78 一起运行?
【发布时间】:2020-04-11 18:49:17
【问题描述】:

我正在使用 Protractor 进行 Angular E2E 测试 + Puppeteer 以在所有 CI 服务器中获得一致的 Chrome 版本。

最近我收到SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 78 错误。

虽然 puppeteer (1.20.0 -> Chromium 78.0.3882.0) 和 webdriver-manager 的安装版本是匹配的。

关于如何解决这个问题的任何想法? 有关构建的更多信息,您可以查看 CI 日志 here 和项目 here

【问题讨论】:

    标签: protractor selenium-chromedriver puppeteer angular-e2e


    【解决方案1】:

    我遇到了类似的问题,但我的问题是 Chrome 81。

    E/launcher - session not created: This version of ChromeDriver only supports Chrome version 81

    我的解决方案是以下两个步骤:

    1) 不要让 Angular 在运行 ng e2e 时为您安装最新的可用网络驱动程序,方法是使用 --webdriverUpdate 标志并将其设置为 false

    2) 使用 protractor 中的 webdriver-manager 并手动指定要使用的 webdriver:

    node_modules/protractor/bin/webdriver-manager update --versions.chrome=80.0.3987.106 --gecko false --standalone false

    3) 将此添加到“pree2e”步骤中,以便在 e2e 步骤之前自动执行:

    "pree2e": "node_modules/protractor/bin/webdriver-manager update --versions.chrome=80.0.3987.106 --gecko false --standalone false"

    要查看安装了哪些网络驱动程序,请使用node_modules/protractor/bin/webdriver-manager status

    https://github.com/angular/webdriver-manager/blob/legacy/docs/versions.md#download-a-specific-version

    https://angular.io/cli/e2e#options

    使用的版本:

    "protractor": "5.4.3"
    "puppeteer": "2.1.1"
    
    Angular CLI: 9.1.0
    Node: 12.2.0
    OS: linux x64
    

    【讨论】:

      【解决方案2】:

      这几个月来一直是个问题。他们的 github repo 上有几个线程。我的解决方法是导航到~/node_modules/protractor 并手动安装webdriver-manager@latest。您应该会看到已安装 webdriver-manager@12.1.7。

      > cd node_modules\protractor
      > npm i webdriver-manager@latest
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2021-02-13
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      相关资源
      最近更新 更多