【问题标题】:SessionNotCreatedError: Unable to create new service: ChromeDriverServiceSessionNotCreatedError:无法创建新服务:ChromeDriverService
【发布时间】:2017-09-26 19:01:27
【问题描述】:

我们有 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)

问题与我的设置有关,但我不知所措,所以向 SO 投掷冰雹玛丽,希望任何人有任何建议。

如果您需要任何其他信息,请告诉我。提前谢谢你,我已经浪费了很多时间试图让它工作!

【问题讨论】:

  • Chromedriver 还需要安装实际的 Chrome 浏览器。尝试升级您的 chrome 浏览器。此外,您能否在 selenium 集线器上手动启动 Chrome 会话 - 即运行 webdriver-manager start,然后在 localhost:4444/wd/hub(或您配置的任何位置)启动集线器门户,单击创建会话 -> Chrome。

标签: angularjs selenium-webdriver gulp protractor selenium-chromedriver


【解决方案1】:

这可以通过更新到 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

有关如何在 protractor 的配置中修改 Chromedriver 版本的更多详细信息,请参阅session not created exception for chrome in Protractor

最后,确保你的 protractor.conf.js 有

   commonCapabilities: {
     'browserName': 'chrome',
   },

否则你应该使用

--browser chrome

标记你的量角器命令

【讨论】:

  • 遇到同样的问题,重启电脑和更新有帮助。
【解决方案2】:
  • 运行 webdriver-manager start
  • 手动打开任何浏览器,然后导航到 'localhost:4444/wd/hub' ,单击 Create Session -> Chrome。

【讨论】:

    【解决方案3】:

    如果您在配置中设置了以下内容,您可以下载最新的 chromedriver.exe 并使用以下代码直接运行它。只有 geckoDriver 和 chromeDriver 可与 directConnect 一起使用。

    directConnect: true,
    chromeDriver: 'path_to_chromedriver',
    geckoDriver: 'path_to_geckodriver.exe',
    

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题。只需安装或更新量角器。如果你还安装了量角器,还请执行以下步骤,在 cmd 提示符或 PowerShell 中运行以下内容

      npm install protractor -g 
      
      npm install webdriver-manager -g
      

      如果您在后台运行时遇到错误,请检查正在运行的处理器并关闭所有正在运行的处理器并尝试。

      以上步骤运行后

      webdriver-manager update
      webdriver-manager start
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多