PHP(5.3.15)でSelenium(サーバー2.31.0)テストを作成しています。このテストでは、ポップアップウィンドウが閉じるかどうかをテストする必要があります。ポップアップウィンドウは、jQueryUIダイアログウィジェットを使用して実装されます。HelloWorld
ポップアップ自体には、ポップアップの外部には表示されない単純なテキスト( )が含まれています。
ポップアップの外観の検出は、を使用して問題ありませんisTextPresent("HelloWorld");
。次に、clickAt("//a[contains(@class, 'ui-dialog-titlebar-close')]");
(動作を確認できます)でウィンドウを閉じてから、で閉じているポップアップをテストし!isTextPresent("HelloWorld");
ます。ポップアップが開閉する時間を与えられていることを確認するために、私は適切なことをしていることを付け加えなければなりません。一時停止とチェックのサイクルが繰り返され、明示的なスリープで問題を強制した場合の影響も確認できます。
これはFirefox(19.0.2)では正常に機能しますが、Chrome(25.0.1364.172)では失敗します。つまり、ウィンドウは閉じられていますが、Seleniumではこれを検出していません。これは、SeleniumがisTextPresent
チェックを実行する方法や、ポップアップが閉じられているのではなく非表示になっているためだと思います。
Chromeで動作する終了ポップアップを検出する方法を探しています。クロスブラウザは素晴らしいでしょうが、今のところ、私はさまざまなブラウザでさまざまなテストを実行することができます。