2017-01-05 13 views
4

ChromeのCIに関するNightwatchテストを実行しています。時々(5回に1回程度)、次のエラーが発生します。この前のすべてのテストはうまく動作します。Nightwatch Selenium "socket hang up"

私は最新のChromedriverとSeleniumスタンドアロンサーバーを持っています。

私は、問題はセレンのサーバーが中途半端な要求をクラッシュさせていると思っていましたが、なぜか分かりません。ここでまた

Error retrieving a new session from the selenium server 

Connection refused! Is selenium server started? 
{ Error: socket hang up 
    at createHangUpError (_http_client.js:254:15) 
    at Socket.socketCloseListener (_http_client.js:286:23) 
    at emitOne (events.js:101:20) 
    at Socket.emit (events.js:188:7) 
    at TCP._handle.close [as _onclose] (net.js:498:12) code: 'ECONNRESET' } 

セレンの世話をする私のnightwatch.jsonの一部です。

"selenium": { 
    "start_process": true, 
    "server_path": "scripts/Nightwatch/selenium-server-standalone-3.0.1.jar", 
    "log_path": "app/E2E/reports/selenium", 
    "port": 4444, 
    "cli_args": { 
     "webdriver.chrome.driver": "scripts/Nightwatch/chromedriver" 
    } 
    } 

なぜセレンがクラッシュするのか、この問題を解決する方法はありますか?

答えて

4

Codeshipのセレン/クロムドライバーとまったく同じ問題がありました。セレンを2.53.1にダウングレードしてみました。冗長なロギングで役立つ情報が表示されませんでした.Seleniumサーバーが、突然、新しいテストセッションをランダムに開始しませんでした。どのような作品に登場することは我々のテストコマンドに以下を追加しました

# Prevent chrome deadlock 
export DBUS_SESSION_BUS_ADDRESS=/dev/null 

問題がここで説明されています https://github.com/SeleniumHQ/docker-selenium/issues/87

それを説明するだろう、特定のドッキングウィンドウコンテナに問題があるように見えます現地で働いている間にCIで起こっています。

+4

私はまだこれを実行した後に問題を抱えていたが、その後、私は今働いてヘッドレステスト '' 'XVFBランNPMの実行e2e''' するためのコマンドを中心にXVFBは、実行実行されませんでした実現 –

+0

@ MartinsNaughtonこれを回答に変えてもよろしいですか?それは私にとって問題を解決しました。 –

+0

e2e:Dとは何ですか? –

3

nightwatch.jsonでchromeが正しく設定されていない場合と同じ例外メッセージが表示されます(ビルドが実行されるたびに)。具体的には、私は、次の引数の表記を使用例えば

"chrome": { 
    "desiredCapabilities": { 
    "browserName": "chrome", 
    "javascriptEnabled": true, 
    "acceptSslCerts": true, 
    "chromeOptions": { 
    "args" : ["--no-sandbox"] 
    } 
} 
0

を提供する「--no-サンドボックス」オプションを必要と接続が拒否し、回避策としてXVFBを使用しました。 - 私のための作品でもXVFBなし

 args: [ 
     'disable-gpu', 'no-sandbox', 'headless', 'window-size=1920,1080', 'verbose' 
     ] 

これ以上のエラー:

chrome: { 
    silent: false, 
    retry_attempts: 1, 
    desiredCapabilities: { 
    browserName: 'chrome', 
    javascriptEnabled: true, 
    acceptSslCerts: true, 
    chromeOptions: { 
     args: [ 
     '--disable-gpu --no-sandbox --headless --window-size=1920,1080 --verbose' 
     ] 
    } 
    } 
}, 

は今、同僚は、引数が別々とダッシュなしであるべきことが判明しました!

1

ホストファイルのエントリを更新すると、この問題は解決されました。 修正: すべてのホストファイルエントリを削除し、以下のエントリをホストファイルに追加します。 127.0.0.1 localhostの

関連する問題