【问题标题】:Angular 8 - ng e2e doesn't work with default chrome driverAngular 8 - ng e2e 不适用于默认的 chrome 驱动程序
【发布时间】:2020-01-08 02:57:55
【问题描述】:

我有 angular 8,我想在运行时为 e2e 测试运行量角器 protractor protractor.conf.js 命令它从 node_modules

获取默认的 chrome 驱动程序

但是当我运行 ng e2e 时,它​​给出了图片中显示的错误。

我有 Angular 版本 - 8.3.8 & Protractor 版本 - 5.4.2 & Chrome 版本 - 79.0.3945.88

【问题讨论】:

  • 您的 Chrome 和 ChromeDriver 主要版本似乎不匹配。这可能是 ChromeDriver 无法启动 Chrome 的原因。
  • @Vishal 你解决了吗?

标签: protractor angular8


【解决方案1】:

当您运行 ng e2e 时,默认运行 webdriver-manager 更新。您可以尝试使用ng e2e --no-webdriver-update 标志。但在此之前,您需要手动运行 webdriver-update。将这些添加到您的脚本中。

 "scripts": {
    "debug": "node --inspect-brk ./node_modules/.bin/protractor protractor.conf.js",
    "pretest": "npm run tsc && npm run webdriver-update",
    "test": "./node_modules/protractor/bin/protractor protractor.conf.js",
    "e2e": "npm run tsc && ./node_modules/protractor/bin/protractor protractor.conf.js",
    "tsc": "./node_modules/typescript/bin/tsc",
    "webdriver-update": "./node_modules/protractor/bin/webdriver-manager update --standalone --versions.standalone=3.8.0 --chrome --versions.chrome=78.0.3904.97",
  }

如果您不使用 typescript,则不需要 npm run tsc 命令。执行前将其删除。 webdriver-update 命令将修复更新 chrome 到版本 78 和独立到 3.8.0。这应该有效。

【讨论】:

    【解决方案2】:

    我认为问题在于,webdriver-manager 是量角器的依赖项,它太旧了。请确保定期更新它,因为它已被package-lock.jsonyarn.lock 锁定。

    使用yarn upgradenpm update 更新次要/补丁版本和传递依赖项。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2020-10-27
      • 2021-10-13
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2015-02-26
      • 2021-08-28
      相关资源
      最近更新 更多