web-dev-qa-db-ja.com

PhantomJSは、「非同期セッションのクリーンアップフェーズが今すぐ開始されます」と長い間ハングします。

これがスクリーンショットです:

PhantomJS waiting for some calls

task :  Codeception PHP Testing Framework v1.6.2
Powered by PHPUnit 3.7.19 by Sebastian Bergmann.

Suite Selenium_acceptance started

Trying to see the welcome page of newweather (welcomeCept.php)

issue : it sits as it is and waiting for phantomJS to respond and below is what phantomJS screen is showing :

[INFO  - 2014-03-13T01:42:51.575Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: ca14e740-aa50-11e3-bb6b-75468ba86108

[INFO  - 2014-03-13T01:47:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

[INFO  - 2014-03-13T01:52:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

[INFO  - 2014-03-13T01:57:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

そして、それは結果なしで画面に表示されます。

これは私が使用するものです:

  • PhantomJSバージョン:1.9.7
  • ポートで実行:4444
48
shab

私が見つけた半関連の答えは次のとおりでした:

「今から始まる非同期セッションのクリーンアップフェーズは...外部フィードへの呼び出しが原因で発生しました。これらは断続的に遅くなりました。このフェーズはタイムアウトしていたこれらの呼び出しを待っていたに違いありませんが、PhantomJSは非常に非常に長い時間。

テスト時にこれらの呼び出しを削除すると(JavaScriptを少し使用し、ホストがローカルホストの場合はダミーオブジェクトを使用します)、問題は解決しました。」

ここにあります: 「非同期セッションのクリーンアップフェーズを今すぐ開始」を繰り返します

したがって、この問題は、外部フィード/ API呼び出しのタイムアウトが原因である可能性があります。

Githubの問題: https://github.com/ariya/phantomjs/issues/11526

1
Sharn White

私は1年前に同じ問題を抱えていました。汚いハックを1つ見つけました。すべてのクエリを必要なテストビルドにプロキシしたnginxで他のサーバーを使用しています。テストをプロキシサーバーにリダイレクトしましたが、このエラーは発生していません。テストは2016年4月以降毎日機能し、エラーはありません。

0
Makarov Oleg

私のために働いた回避策は、takesScreenshot機能をfalseに設定することです。

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("takesScreenshot", false);
0
Vjeetje

Javaでは、以下のコードを使用しましたが、解決されました

DesiredCapabilities caps = new DesiredCapabilities();
Change - WebDriver driver = new PhantomJSDriver(caps);
with - this.driver = new PhantomJSDriver(caps);
0
NayanAgrawal