web-dev-qa-db-ja.com

SessionNotCreatedError:新しいサービスを作成できません:ChromeDriverService

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誰かにアドバイスがあればいいのにと思って、Hail Maryを投げます。

追加情報が必要な場合はお知らせください。事前に感謝します、これを機能させるために多くの時間を無駄にしました!

9
chhhris

これは、chromedriverとchromeの両方を最新バージョンに更新することで修正できます。

Webdriver-managerを使用している場合は、実行します

webdriver-manager update --chromedriver

次にChromeから https://www.google.com/chrome/browser/desktop/ をダウンロードして、古いchrome最新バージョンで。

また、webdriverが実行されている端末でCtrl-Cを実行する必要があります。

webdriver-manager start

または、Seleniumデーモンプロセスを強制終了して再起動し、最新のchromedriverをキャプチャします。システムの再起動が役立つ場合があります。

また試してみる価値があります:

npm update -g protractor
webdriver-manager update

分度器の設定でChromedriverのバージョンを変更する方法の詳細については、 セッションは、chrome)の例外を作成しませんでした も参照してください

最後に、protractor.conf.jsが

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

または、使用する必要があります

--browser chrome

分度器コマンドのフラグ

15
Aakash Singh
  • Webdriver-manager startを実行します
  • 任意のブラウザーを手動で開き、「localhost:4444/wd/hub」に移動して、「セッションの作成」->「Chrome」をクリックします。
2
Nhan Tran Trong

Configで以下を設定すると、最新のchromedriver.exeをダウンロードして、以下のコードで直接実行できます。 directConnectで動作するのは、geckoDriverとchromeDriverのみです。

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