protractor - 如何使量角器与 puppeteer 和 chrome 78 一起运行?
问题描述
我正在使用 Protractor for Angular E2E Tests + 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 的安装版本是匹配的。
解决方案
我遇到了类似的问题,但是我的问题是 Chrome 81。
E/launcher - session not created: This version of ChromeDriver only supports Chrome version 81
我的解决方案是以下两个步骤:
1)不要让Angular在运行时为您安装最新的可用网络驱动程序ng e2e
,方法是使用--webdriverUpdate
标志并将其设置为false
。
2)使用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://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
推荐阅读
- java - 您如何将 ListView 保存为文本文档而不是将其加载回程序中
- javascript - 带有 java 脚本的 DropDownList
- laravel - 精益雄辩的结果 ->with() 渴望加载
- python - 如何在每一行中的特定字符串之后计算文本文件中的唯一单词?
- php - Symfony Fileloader 找不到现有的类
- javascript - 处理 Flask 文件上传/下载中的编码
- html - CSS - 文本在顶部对齐,不管 flexbox 属性如何
- json - 是否可以从 newrelic 警报中获取未决事件计数
- matlab - 如何将 GUIDE 的导出工具生成的 MATLAB GUI *.m 文件转换回 *.fig 文件?
- mysql - 从 SQL 数据库中提取一个整数值用于计算