2016-06-28 6 views
5

私のWebページの自動テストをしようとしていますが、私はJasmineをセレンと並行して使用しています。Chromdriver2.21に「このようなセッションはありません」

クロム(クロムドライブを使用)でテストすると、以下のエラーが予期せず発生します。テストスイートを実行するとほとんど完了しません。

アイブ氏は、このバグの証拠を発見したが、固体の答えを見つけるカント:https://bugs.chromium.org/p/chromedriver/issues/detail?id=732(許可され、これはクロムのためだったと私はクロムを使用しています)

WebDriverError: no such session 
    (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Mac OS X 10.11.5 x86_64) 
    at WebDriverError (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/error.js:27:10) 
    at Object.checkLegacyResponse (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/error.js:639:15) 
    at parseHttpResponse (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/http/index.js:538:13) 
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/http/index.js:472:11 
    at ManagedPromise.invokeCallback_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:1379:14) 
    at TaskQueue.execute_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2913:14) 
    at TaskQueue.executeNext_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2896:21) 
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2820:25 
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:639:7 
    at process._tickCallback (node.js:369:9) 
From: Task: WebElement.isDisplayed() 
    at Driver.schedule (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/webdriver.js:377:17) 
    at WebElement.schedule_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/webdriver.js:1744:25) 
    at WebElement.isDisplayed (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/webdriver.js:2110:17) 
    at driver.findElements.then.error (/Users/XXXXXXX/Documents/sweetmeeting/Test/front_end_testing/spec/dashboard_tester.js:251:34) 
    at ManagedPromise.invokeCallback_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:1379:14) 
    at TaskQueue.execute_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2913:14) 
    at TaskQueue.executeNext_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2896:21) 
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2775:27 
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:639:7 
    at process._tickCallback (node.js:369:9) 
+0

最新の[ChromeDriver 2.22]を使用してみてください(http://chromedriver.storage.googleapis.com/index.html?path=2.22/) – Madhan

答えて

8

我々はまた、長い間、この問題で苦労してきたがそれは誰か他の人を助けるためにここに投稿すると思った。

私たちのためにメモリに関連していました。私たちはドッカーのコンテナ内でテストを行い、ドッカーのデフォルトのdev/shmサイズは64MBです。これを増やすことにより、私たちにとって「そのようなセッションはありません」という問題が解決されました。

docker composeを使用するので、docker-compose.ymlファイルにshm_size:256Mを追加しました。

+3

shm 2GBでも!助けられなかったし、shmのサイズによって引き起こされたエラーではないようです – ShockwaveNN

+0

それはメモリの制限にどのように関係しているのか説明できますか?ドライバーがメモリ不足のためにクラッシュし、セレンのバインディングが通信できなかった可能性がありますか? –

5

最近この例外も発生しました。最初は非決定的であるように見えましたが、徹底的な調査の後、ChromeDriver.Close()を呼び出してFindElementを試みると、それが確定的に発生することに気付きました。

私のケースでは、ChromeDriver.Close()が、以前のテストの例外ハンドラで呼び出されました。これはタイミングの問題で発生しました。これは次のテストにのみ影響していたので、この問題が薄れていると感じました。しかし私が言ったように、私の調査は、それが決定論的であることを明らかにした。

これは言いましたが、これはそのエラーの私の経験です。あなたのケースが異なる可能性があります...

関連する問題