2017-05-16 70 views
1

私はIEでセレンを使ってWebテストを自動化しています。私のウェブページはフォームを記入し、最後にボタンをクリックします。クリックするコードはSelenium C#Webdriverボタンがクリックされたかどうかを検出する方法

driver.FindElement(By.CssSelector("td.ne-fieldvalues > input[type=\"button\"]")).Click(); 

8回以内にクリックしますが、それ以外のクリックコマンドは実行されません。 ボタンが実際にクリックされたかどうかを確認する方法はありますか?チェックボックスに似た何か

if (!driver.FindElement(By.CssSelector("input[type=\"checkbox\"]")).Selected) 
        driver.FindElement(By.CssSelector("input[type=\"checkbox\"]")).Click(); 

私は試してみました.Enabledと両方のプロパティは常にtrueです。 ありがとうございます。

+0

ボタンクリックの結果は何ですか?クリック後にGUIの状態が変化しますか? – Mahipal

+0

ご迷惑をおかけしました。ボタンをクリックすると別のウィンドウがポップアップします。 – ProgSky

答えて

2

リンクまたはボタンのクリックでアクションが実行されるようにするには、アプリケーションの結果の状態を確認することをお勧めします。たとえば。有効なユーザー名とパスワードを入力した後に[ログイン]ボタンをクリックすると、ホームページに移動し、ホームページが読み込まれていることを確認します。そうでない場合は、クリックイベントに失敗します。無効なユーザー名/パスワードの場合は、ログインページ自体の警告メッセージを確認してください。

要約すると、Web要素のクリックイベントを確認するためのレスポンスを検証する必要があります。あなたが行うことができます

以上の要素がExpectedConditions.elementToBeClickable()を使用してクリック可能であることを確認です:

 
// In Java 
WebDriverWait wait = new WebDriverWait(driver, timeOut); 
wait.until(ExpectedConditions.elementToBeClickable(locator)); 
+0

hmm ok。という事は承知しています。私はチェックするために任意のボタンプロパティを使用することができます期待していた。 – ProgSky

+0

Zeeshanに感謝します。私はそれを行こう。 – ProgSky

関連する問題