量角器使用旧的 webdriver 版本,而系统中安装了最新版本

protractor is using old webdriver version while latest is installed in system

我正在使用量角器对我的应用程序进行 运行 end-2-end 测试。当我尝试 运行 应用程序时,出现以下错误

[16:17:53] E/local - Error code: 135
[16:17:53] E/local - Error message: Could not find chromedriver at C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26
[16:17:53] E/local - Error: Could not find chromedriver at C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26

我不知道为什么它在寻找 2.26 版本,而当我 运行 命令

webdriver-manager --version

它给了我 2.32 版。我还通过 运行ning

再次更新了它(本地和全球)
webdriver-manager update -g --versions.chrome=2.32

但是好像不行。我还手动检查了版本 2.32 的 webdriver exe 在错误引用的位置可用,即 C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26 .

此外,当我尝试使用以下命令更新 webdriver-manager 时,我将版本为 2.26 的 webdriver-manager exe 放在上述位置。我不知道它是从某些配置还是从其他地方读取它,因为我无法找到它。在如何摆脱这个 2.26 版本以及如何让量角器与最新版本(即 2.32)一起工作方面需要帮助。

我发现 Protractor 的 webdriver-manager 使用的 ChromeDriver 版本总是远远落后于我的需要。

我找到的解决方案是:

  1. 下载 Selenium Server Standalone
  2. 下载您想要的 ChromeDriver 版本。
  3. 然后您将使用以下内容创建一个 .bat 文件:

    java -Dwebdriver.chrome.driver=C:\path_to_your_files\chromedriver -jar C:\path_to_your_files\selenium-server-standalone-3.4.0.jar -port 4444

然后您只需双击 .bat 文件并使用您想要的任何 ChromeDriver 版本启动您的 Selenium 服务器。希望这对您有所帮助!

我无法通过 webdriver-manager updatenpm install/update 解决这个问题,但找到了解决方法.我已经手动下载了 chromedriver 版本 2.32。将 .exe 文件重命名为 chromedriver_2.26.exe,然后将其替换为 C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26 并且它工作正常。

我将 ChromeDriver 从 75 升级到 79 时遇到了类似的问题。即使 "webdriver-manager update --versions.chrome=79..." 确实将最新的 exe 放在 rootfolder\node_modules\webdriver-manager\selenium 下,Protractor 仍在选择旧版本。

对我来说,当我手动将最新版本的 ChromeDriver 放在 rootfolder\node_modules\protractor\node_modules\webdriver-manager\selenium 下并更新位于同一文件夹中的更新-config.json 时,问题得到解决。