Dol*_*wal 7 google-chrome protractor webdriver-manager
我正在泊坞窗文件中使用量角器(版本5.4.2)运行测试.google chrome升级到版本76后,测试开始失败并给出以下错误:
SessionNotCreatedError: session not created: Chrome version must be
between 71 and 75
[chrome #01-2] (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),
platform=Linux 4.15.0-1040-aws x86_64)
Run Code Online (Sandbox Code Playgroud)
我尝试了几种方法来解决这个问题:
1)尝试将chrome版本标记为先前版本。但是chrome移至稳定版本,而先前版本为chrome。
2)还研究了一些可能的解决方案在线下载,但对我不起作用
3)webdriver-manager更新--versions.chrome 76.0.3809.68。仍然量角器5.4.2拾取了chrome驱动程序2.46
我想在chrome 75上运行测试,所以我需要降级chrome版本的方法,或者我想知道如何使量角器与chrome版本76兼容
到目前为止,我所做的是在本地使用webdriver-manager更新,当我运行测试时,它运行良好,但是当我在dockerFile中运行测试时,它也遵循清理和更新webdriver-manager的步骤,返回使用chrome驱动程序2.46。即使将webdriver清理干净也会删除chromedriver 76本身
npx webdriver-manager clean
webdriver-manager: using local installed version 12.1.6
[11:01:36] I/file_manager - removed chromedriver_76.0.3809.12
[11:01:36] I/file_manager - removed chromedriver_76.0.3809.12.zip
[11:01:36] I/file_manager - removed geckodriver-v0.24.0
[11:01:36] I/file_manager - removed geckodriver-v0.24.0.tar.gz
[11:01:36] I/file_manager - removed selenium-server-standalone-3.141.59.jar
[11:01:36] I/file_manager - removed chrome-response.xml
[11:01:36] I/file_manager - removed gecko-response.json
[11:01:36] I/file_manager - removed standalone-response.xml
[11:01:36] I/file_manager - removed update-config.json
root@966d9b57465f:/opt# npx webdriver-manager update
Run Code Online (Sandbox Code Playgroud)
npx webdriver-manager更新再次提供了相同的驱动程序
webdriver-manager: using local installed version 12.1.6
Run Code Online (Sandbox Code Playgroud)
现在当我运行测试时:
[11:03:07] I/update - chromedriver: file exists /opt/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.46.zip
[11:03:07] I/update - chromedriver: unzipping chromedriver_2.46.zip
[11:03:08] I/update - chromedriver: setting permissions to 0755 for /opt/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.46
[11:03:08] I/update - chromedriver: chromedriver_2.46 up to date
[11:03:08] I/launcher - Running 2 instances of WebDriver
[11:03:09] I/testLogger -
------------------------------------
Run Code Online (Sandbox Code Playgroud)
如果我删除chrome驱动程序2.46,因为它说存在该文件上方的出口,所以测试不会运行
ode:1131) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, stat '/opt/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.46.zip'
at Object.fs.statSync (fs.js:948:11)
Run Code Online (Sandbox Code Playgroud)
但是相同的测试在本地运行
Google 没有提供处理旧版本的简便方法。最好的方法是使用 76 并获取相关的驱动程序版本。
此外,chrome 驱动程序与与驱动程序主要版本不同的 Chrome 不兼容。例如。驱动程序 v75 不适用于 Chrome v76。
Chrome 驱动程序可在此处通过 下载driver-manager。
如果您正在寻找特定版本,请清理旧驱动程序并安装预期版本。您可以使用以下命令
npx webdriver-manager clean
npx webdriver-manager update --versions.chrome=76.0.3809.68
Run Code Online (Sandbox Code Playgroud)
如果您全局安装了 webdriver-manager,则使用
webdriver-manager clean
webdriver-manager update --versions.chrome=76.0.3809.68
Run Code Online (Sandbox Code Playgroud)
希望通过下载驱动程序 v76 并使用它来解决问题。
注意:这样,如果下载了新驱动程序并且量角器仍然失败(运行测试),那么请在此处更新。那么问题可能是 webdriver-manager(您正在使用的版本)与 chrome 驱动程序 v76 有问题。
| 归档时间: |
|
| 查看次数: |
3401 次 |
| 最近记录: |