1

Selenium WebDriver を使用して、チームが JQuery を使用して会社のために作成しているモバイル Web アプリを自動化しようとしています。JQuery Mobile を使用しているため、すべての HTML が 1 回の要求で取得され、ボタンをクリックすると、既定のページの上に新しいページが表示されます。

私が書いているテストでは、新しいリクエスト ページを表示するボタンをクリックする必要があります。

DefaultSelenium selenium;
...
selenium.click("css=a[href='#new-request-page']");

Selenium は例外をスローしないため、ドライバーはこのボタンを正常に検出しているようです。ただし、既定のページの上にページがポップアップすることはないため、ユーザーは何が起こっているのかわかりません。それにもかかわらず、後で (無関係な) エラーが発生するまで、テストは通常​​どおり実行され続けるようです。

Selenium は実際に新しいリクエスト ボタンを見つけてクリックしていますか? その場合、ドライバーに新しい要求ページをロードさせるにはどうすればよいですか? そうでない場合、新しいリクエスト ボタンが見つからないことを通知しないのはなぜですか?

テストの次のステップを開始する前に、Ajax 呼び出しが完了するのを待つようにテストに指示する必要がある可能性があることを他の人から読んだので、それが私の次の解決策です。しかし、他の誰かが同様の問題を抱えているかどうか疑問に思っていました。

残念ながら、Web アプリ自体へのリンクを投稿することはできません。これはイントラネット上に存在し、表示するには会社のログインが必要なためです。テストは Firefox で実行され、デフォルトの Selenium Web ドライバーを使用しています。

4

1 に答える 1