如何设置"webdriver.chrome.driver"量角器的财产 [英] How to set the "webdriver.chrome.driver" property with Protractor

查看:74
本文介绍了如何设置"webdriver.chrome.driver"量角器的财产的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到此错误:

[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)

我需要设置 webdriver.chrome.driver 属性,但是我找不到关于如何使用Protractor进行此操作的任何文档,

I need to set the webdriver.chrome.driver property, but I can't find any docs on how to do this with Protractor, does anyone know?

如果我对我的protractor.conf.js有此要求:

If I had this to my protractor.conf.js:

 chrome:{
    driver:  process.env.CDT_CHROMEDRIVER || '/usr/local/bin/chromedriver'
  },

然后我收到此错误:

unknown error: no chrome binary at /usr/bin/google-chrome

推荐答案

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

Case 1 When you set DirectConnet to true in protractor conf file

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

Option 1: set in protractor conf file

exports.config = {
  chromeDriver: './node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver'
};

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

Note: If use relative path, it relatived to the config file folder

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

Option 2: pass-in in protractor command line, it will overwrite the one in conf file.

protractor conf.js --chromeDriver='./node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver'

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

Note: If use relative path, it relative to the foler where command executed under, calculated by process.cwd()

情况2 :将selenuimAddress设置为本地/远程硒服务器

Case 2 When you set selenuimAddress to local/remote selenium server

选项1:使用npm软件包 webdriver-manager 来帮助更新和启动Selenium服务器,它可以自动计算WebDriver路径,而无需您告诉它在哪里.

Option 1: use npm package webdriver-manager to help to update and start selenium server, it can calculate the webdriver path automatically, no need you to tell where is.

选项2:通过java命令启动selenium服务器并指定 -Dwebdriver.chrome.driver = chromedriver的绝对路径

Option 2: start selenium server by java command and specify -Dwebdriver.chrome.driver=absolute path of chromedriver

案例3 :将seleniumAddress设置为selenium grid
您可以指定 webdriver.chrome.driver 的唯一机会是,当执行register cmd将硒节点注册到selenium hub时,您无法在其他地方做任何事情.

Case 3 When you set seleniumAddress to selenium grid
the only chance you can specify webdriver.chrome.driver is when execute register cmd to register selenium node to selenium hub, you can't do anything in other place.

这篇关于如何设置"webdriver.chrome.driver"量角器的财产的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆