8

私はSeleniumIDEの使用を開始し、モーダルダイアログでいっぱいのWebアプリをテストしようとしています(window.showModalDialog)。

テストの記録は機能しているように見えますが(ダイアログがポップアップしたときにログに何も表示されない場合を除く)、正しく再生されません。スクリプトは実際にはウィンドウを開きますが(ボタンのクリックによってトリガーされます)、その後は無期限に待機します。

助言がありますか?

4

4 に答える 4

3

Selenium FAQから、Seleniumは明らかに一部のタイプのダイアログでは機能しますが、他のタイプでは機能しません。

ポップアップダイアログを操作できません。私のテストはその軌道で止まります!

ダイアログがアラートまたは確認ダイアログである場合に限り、可能です。他の特別なダイアログはjavascriptで閉じることができないため、現在は操作できません。これには、[ファイルの保存]、[このパスワードを記憶する](Firefox)、およびモーダル(IE)ダイアログが含まれます。それらが現れると、Seleniumは絶望して手を絞ることしかできません。

この問題を解決するには、回避策を使用できます(存在する場合)。そうしないと、自動コーパスからテストを除外しなければならない場合があります。Firefoxの[ファイルの保存]ダイアログでは、RCを介して実行するときにカスタムテンプレートを指定すると、ユーザーにクエリを実行しなくても、常にファイルが指定された場所にダウンロードされます( http://forums.openqa.orgを参照)。 /thread.jspa?messageID=31350)。「このパスワードを記憶する」ダイアログは、記憶することを選択した後は再び表示されないはずです。現在、IEモーダルダイアログについてできることはあまりありません。

ダイアログを閉じたAutoHotKeyスクリプトでこれを回避している人を覚えているようです。

于 2009-05-15T03:54:23.650 に答える
3

私はかなり前からSeleniumIDEを使用してjQueryモーダルをテストしてきましたが、問題に直面することはありませんでした。再生時にテストが正しく実行されるようにするために私が行うことは次のとおりです。

  • 可能な限り遅い速度でスクリプトを実行する
  • モーダルが開いたら、waitForElementPresentコマンドを使用して、ページ上の構成要素の少なくとも1つが存在することを確認します。引数は、1つの要素が適切にロードされた場合、すべての要素、したがってモーダルウィンドウが適切にロードされたと想定するのが安全です。

お役に立てれば。さらにサポートが必要な場合は、IDEがスローする実行エラーとともに、コードを私と共有できます。

于 2011-07-01T07:58:29.130 に答える
2

モーダルウィンドウがハッキングされました:) http://seleniumdeal.blogspot.com/2009/01/handling-modal-window-with-selenium.html

于 2009-06-19T21:55:46.300 に答える
0

これは、SeleniumIDEでポップアップアラートを処理する方法です

要素(この場合はポップアップウィンドウ)を右クリックすると、選択できるコマンドがいくつかあります。役立つかもしれないすべての利用可能なコマンドを表示することもあります。AssertElementPresetを使用する必要があります。この場合、最適なロケーターはCSSだと思います。したがって、AssertElementPresentを選択できます。

または

SeleniumIDEで2つのコマンドを使用できます

selectWindow | null
verifyElementPresent | css=div.content

お役に立てれば!

于 2016-01-26T14:40:32.777 に答える