現在、自動化スクリプトをSeleniumRCからWebDriverに移行しています。WebDriverでいくつかの問題が発生しました。主に、テスト対象のWebページの何かが変更された瞬間にスローされるTimeoutExceptionsを処理します。
たとえば、現在ページにログインしてから、新しいページにリダイレクトする送信ボタンをクリックしています。click()メソッドが呼び出されるとすぐに、例外がスローされます。ただし、パスワードフィールドに集中して、SendKeys(Keys.Enter)を使用すると、リダイレクトは問題なく機能します。
他の誰かがこれに遭遇しましたか?クリックメソッドが呼び出されると例外がスローされるため、直後に待機期間やタイムアウト期間を設定することはできません。TimeoutExceptionを飲み込むことができることは知っていますが、確かにもっと良い解決策が必要です。
Firefoxドライバーを使用しています。この問題は、ページのソースが変更されていることに関係していると思います。
例外は次のとおりです。
クリック方法は次のとおりです。
public void ClickByName(string name)
{
_driver.FindElement(By.Name(name)).Click();
}