我们有AngularJS量角器测试。该过程是按顺序设置和运行这些步骤:
$ npm install
$ webdriver-manager update --ie32 --ignore_ssl
$ gulp
我遇到的问题是这个设置适用于我团队中的其他人,但是我有100%的时间收到此错误:
[11:42:33] I/local - Starting selenium standalone server...
[11:42:36] I/local - Selenium standalone server started at http://10.222.189.129:55574/wd/hub
/path/to/repo/node_modules/selenium-webdriver/lib/error.js:27
super(opt_error);
^
SessionNotCreatedError: Unable to create new service: ChromeDriverService
Build info: version: '3.5.3', revision: 'a88d25fe6b', time: '2017-08-29T12:54:15.039Z'
System info: host: 'xxxx', ip: 'xxxx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_131'
Driver info: driver.version: unknown
at WebDriverError (/path/to/repo/node_modules/selenium-webdriver/lib/error.js:27:5)
at SessionNotCreatedError (/path/to/repo/node_modules/selenium-webdriver/lib/error.js:214:5)
at Object.checkLegacyResponse (/path/to/repo/node_modules/selenium-webdriver/lib/error.js:505:15)
at parseHttpResponse (/path/to/repo/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/path/to/repo/node_modules/selenium-webdriver/lib/http.js:440:13)
at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.createSession()
at Function.createSession (/path/to/repo/node_modules/selenium-webdriver/lib/webdriver.js:777:24)
at Function.createSession (/path/to/repo/node_modules/selenium-webdriver/chrome.js:709:29)
这个问题与我的设置有关,但我很茫然,所以扔了一个Hail Mary,希望有人有任何建议。
如果您需要任何其他信息,请与我们联系。提前谢谢你,我浪费了很多时间试图让它工作!
这可以通过更新到chromedriver和chrome的最新版本来解决。
如果您使用的是webdriver-manager,请运行
webdriver-manager update --chromedriver
然后从https://www.google.com/chrome/browser/desktop/下载Chrome并用最新版本替换旧的Chrome。
您还需要在运行webdriver并运行的终端中使用Ctrl-C
webdriver-manager start
或者杀死并重新启动Selenium守护程序进程以捕获最新的chromedriver。重启系统可能会有所帮助。
也值得一试:
npm update -g protractor
webdriver-manager update
另请参阅session not created exception for chrome in Protractor,了解有关如何在量角器配置中修改Chromedriver版本的更多详细信息
最后,确保你的protractor.conf.js有
commonCapabilities: {
'browserName': 'chrome',
},
否则你应该使用
--browser chrome
你的量角器命令上的标志
如果在配置中设置以下内容,则可以下载最新的chromedriver.exe并使用以下代码直接运行它。只有geckoDriver和chromeDriver才能使用directConnect。
directConnect: true,
chromeDriver: 'path_to_chromedriver',
geckoDriver: 'path_to_geckodriver.exe',