Zendアプリケーションの機能テストを書いています。私はPHPUnitとこのラッパーを使って実行します:https://github.com/chibimagic/WebDriver-PHPjavascriptの実行中にSeleniumがランダムにクラッシュをテストする
ローカルでjarファイルからセレン・スタンドアロン・サーバーを実行します(v2.19.0)。このアプリケーションではjsとajaxをたくさん使用していますので、FunctionalTestCaseクラスでwaitForAjax関数を作成しました。すべてのデータが正しく読み込まれるまで待つことができます。私はjQueryのajax関数を使用しているので、$ .activeを使用しています。関数は次のようになります。
public function waitForAjax($timeout = 10) {
sleep(1);
for($i = 0 ; $i < $timeout - 1 ; $i++) {
$active = $this->getJsResult('return $.active;');
if($active > 0) {
sleep(1);
}else {
break;
}
}
}
機能getJsResultがwebdriverをラッパーからexecute_js_syncを実行し、セレン応答から結果を取得します。
私の問題は次のとおりです。サイト上でjsを実行すると、セレンがランダムにハングします。時にはそれはほとんど瞬時に戻りますが、ほとんどの場合スクリプトの実行中です。これはサーバーからの唯一の出力です。
11:58:48.386 INFO - Executing: [execute script: return $.active;, []] at URL: /session/1334915841900/execute)
なぜこのようにランダムに起こっているのですか?
私は実際にここでいくつかの助けを使うことができます。私は最初、あまりにもそれがランダムにクラッシュすることセレンを使用し、私はそれが多くのRAMを食べていたことを見て、アプリケーションが持っているかもしれmaxiumum RAMをhittedとき、多分それは私が解決される問題である持っていた
乾杯、 マチェイ
ことで? –