我们有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,希望有人有任何建议。
如果您需要任何其他信息,请与我们联系。提前谢谢你,我浪费了很多时间试图让它发挥作用!
答案 0 :(得分:15)
这可以通过更新到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
你的量角器命令上有标志
答案 1 :(得分:1)
这个解决方案可以为我解决,谢谢@Hanc
答案 2 :(得分:0)
如果在配置中设置以下内容,则可以下载最新的chromedriver.exe并直接使用以下代码运行它。只有geckoDriver和chromeDriver可以与directConnect一起使用。
directConnect: true,
chromeDriver: 'path_to_chromedriver',
geckoDriver: 'path_to_geckodriver.exe',
答案 3 :(得分:0)
我遇到了同样的问题。只需安装或更新量角器。如果仍然还安装了量角器,请执行以下步骤,在cmd提示符或PowerShell中运行以下命令
npm install protractor -g
npm install webdriver-manager -g
如果在后台运行时出错,请检查正在运行的处理器并关闭所有正在运行的处理器,然后尝试。
完成上述步骤后,运行以下
webdriver-manager update
webdriver-manager start