如何使用Protractor设置"webdriver.chrome.driver"属性

Ale*_*lls 3 selenium angularjs protractor

我收到此错误:

[01:10:42] E/launcher - The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
[01:10:42] E/launcher - WebDriverError: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
    at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:160:7)
Run Code Online (Sandbox Code Playgroud)

我需要设置webdriver.chrome.driver属性,但我找不到任何关于如何使用Protractor执行此操作的文档,有谁知道?

如果我有这个到我的protractor.conf.js:

 chrome:{
    driver:  process.env.CDT_CHROMEDRIVER || '/usr/local/bin/chromedriver'
  },
Run Code Online (Sandbox Code Playgroud)

然后我收到这个错误:

unknown error: no chrome binary at /usr/bin/google-chrome
Run Code Online (Sandbox Code Playgroud)

yon*_*ong 9

案例1在量角器conf文件中将DirectConnet设置为true时

选项1:在量角器配置文件中设置

exports.config = {
  chromeDriver: './node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver'
};
Run Code Online (Sandbox Code Playgroud)

注意:如果使用相对路径,则它相对于配置文件文件夹

选项2:在量角器命令行中传入,它将覆盖conf文件中的一个.

protractor conf.js --chromeDriver='./node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver'
Run Code Online (Sandbox Code Playgroud)

注意:如果使用相对路径,则相对于执行命令执行的foler,计算方式 process.cwd()

案例2将selenuimAddress设置为本地/远程selenium服务器时

选项1:使用npm包webdriver-manager来帮助更新和启动selenium服务器,它可以自动计算webdriver路径,不需要你告诉它在哪里.

选项2:通过java命令启动selenium服务器并指定 -Dwebdriver.chrome.driver=absolute path of chromedriver

情况3当您将seleniumAddress设置为selenium网格时
,您可以指定的唯一机会webdriver.chrome.driver是当执行register cmd将selenium节点注册到selenium hub时,您无法在其他地方执行任何操作.