分度器は初めてです。分度器を使用してSeleniumテストを実行しようとすると、次のエラーが表示されます
I/hosted - Using the Selenium server at http://localhost:4444/wd/hub
I/launcher - Running 1 instances of WebDriver
E/launcher - Error code: 135
E/launcher - Error message: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
E/launcher - Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
at ClientRequest.<anonymous> (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\http\index.js:381:15)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at Socket.socketErrorListener (_http_client.js:267:9)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1269:8)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)
From: Task: WebDriver.createSession()
at Function.createSession (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib\webdriver.js:329:24)
at Builder.build (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\builder.js:458:24)
at Hosted.DriverProvider.getNewDriver (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\driverProvider.js:37:33)
at Runner.createBrowser (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\built\runner.js:187:43)
at c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\built\runner.js:261:30
at _fulfilled (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54)
at self.promiseDispatch.done (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30)
at Promise.promise.promiseDispatch (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13)
at c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:556:49
at runSingle (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:137:13)
E/launcher - Process exited with error code 135
他のプロセスがポート4444をリッスンしているかどうかを確認しましたが、見つかりませんでした。また、-standaloneフラグを使用してWebドライバーを実行しています。
Seleniumサーバーがhttp://127.0.0.1:4444/wd/hub
で実行されていないようです。分度器テストを実行する前に、以下のコマンドを使用してSeleniumサーバーを起動する必要があります。webdriver-manager start
。サーバーを起動すると、エラーなしでテストが実行されます。
Seleniumサーバーを手動で起動したくない場合は、conf.jsからseleniumAddress:http://localhost:4444/wd/hub
プロパティを削除するだけです。
次の行をconf.js
ファイルに追加することもできます。
chromeOnly: true,
directConnect: true,
Webdriverを起動します。コンソール画面で以下のコマンドを実行して、自動化テストスイートの実行を開始する前に、webドライバーを更新し、webドライバーを起動してください。
webdriver-manager update
webdriver-manager start
テストしたいブラウザー用にSeleniumドライバーがインストールされていますか?で試す
webdriver-manager update
ドライバーのインストールは自動的に行われます。一度実行するだけで、もう一度呼び出すと、ドライバが既にインストールされており、処理されないことがわかります。
このコマンドを使用してSeleniumサーバーを起動しましたかwebdriver-manager start
?そうでない場合、Seleniumサーバーの構成に問題がある可能性があります。 このスレッドに従う をお勧めします
解決策1
webdriver-manager update --standalone
解決策2
私もこのタイプのエラーを受け取りますが、環境変数の設定の後、この問題は解決します。 npmの場所。例:C:\ Users\AppData\Roaming\npm
directConnect
ソリューションは、protractor
をローカルで実行する場合は便利ですが、Jenkinsで実行しようとしても機能しませんでした。 JenkinsのDockerコンテナですべてを実行する場合は、webdriver-manager start
分離モード-d
最初に待機してから、protractor
を開始します。