首页 > 解决方案 > 如何在 Protractor 项目中设置 chromeDriver 位置

问题描述

在我的量角器项目中,执行npm test命令时出现以下错误

21:55:20] E/runner - Unable to start a WebDriver session.
[21:55:20] E/launcher - Error: SessionNotCreatedError: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '00000FJ26VN2', ip: '172.30.161.17', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'
Driver info: driver.version: unknown

我尝试了以下解决方案,但对我不起作用。

解决方案 1

由于我的机器限制,这无法做到

我遇到的另一个问题是,即使在chromedriver我启动服务器时在以下位置替换了正确的位置后,它仍然显示错误的位置。(即,但我用我当前的浏览器版本chromedriver_75.0.3770.8.exe替换它。chromedriver_74.0.3729.6.exe

文件位置:protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium

启动服务器时的日志

λ npm run webdriver-start

> protractor-typescript-cucumber@4.0.0 webdriver-start c:\Repository\GitExt\Protractor\protractor-cucumber-typescript
> webdriver-manager start

[22:08:04] I/start - java -Dwebdriver.chrome.driver=c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_75.0.3770.8.exe -Dwebdriver.gecko.driver=c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v0.24.0.exe -jar c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.141.59.jar -port 4444
[22:08:04] I/start - seleniumProcess.pid: 1380
22:08:04.708 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
22:08:04.825 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
2019-06-13 22:08:04.883:INFO::main: Logging initialized @446ms to org.seleniumhq.jetty9.util.log.StdErrLog
22:08:05.145 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
22:08:08.881 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444

所以作为一个解决方案,我可以专门指向chromedriver吗?selenium-server-standalone-3.141.59.jar和之间是什么关系chromedriver?有没有办法找到这个的兼容chromedriver版本jar

就我而言,我无权更新或降级我的机器 chrome 浏览器版本。那么如何更改网络驱动程序版本以与 chrome 浏览器版本保持一致。

标签: seleniumprotractor

解决方案


我在这里发现了问题并设法解决了。

问题:即使我将匹配项chromedriver.exe放在路径 ( c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium) 中,它仍在寻找来自webdriver-update命令的原始版本。

所以我所做的是

  1. chromedriver从上述路径中删除。
  2. 在某个文件夹位置添加首选文件夹并将其设置在 env.properties 中。变量。因此,如果项目文件夹中缺少驱动程序,它总是会在环境中设置路径。变量哪一个合适。

尽管有上述解决方案,我只是想知道如何在运行webdriver-update命令时更改驱动程序版本?


推荐阅读