0

Firefox 12でSelenium IDE 1.8.1 を使用しています。私たちのアプリケーションの 1 つで「Yahoo UI」ベースのボタンが使用されており、それらをクリックしようとすると、Selenium で一貫性のない結果が表示され続けます。たとえば、このボタン(input id="submitButton")をクリックすると、モーダル ダイアログがポップアップ表示されます。約半分の時間でデータが送信されますが、モーダル ダイアログはポップアップしません。私はコマンドを使用しています: click | css=#submitButton |

<input id="icdParticipantAddressForm_icdParticipantId" type="hidden" value="1022" name="icdParticipantId">
<input id="submitButton" class="saveButtonImage" type="submit" onclick="return YAHOO.ourAddress.avwController.verifyAddresses();" title="save" value="Next" style="float:right;">
<a href="/url?icdParticipantId=1022>

皆さんありがとう!PS私も fireEvent | css=#submitButton | click同じ結果で試しました

4

1 に答える 1

0

まったくアクセスできなかった場合; 隠れていたと思います(フレームの後ろ?)。テストを実行するたびに「不一致」が発生するという事実から、タイムアウトの問題があると思われます。どのようなエラー メッセージが表示されるかを確認すると便利です。

必要なボタンを取得する最善の方法は、XPATH を使用することです。以下のコードをコピーして、ボタンを見つけようとしているコードの部分に貼り付けます。

driver.find_element(:xpath, "//input[@id='submitButton']")

テストを再度実行して、これが役立つかどうかを確認してください。そうでない場合は、ページの読み込みに時間がかかる場合 (つまり、ボタンがまだ使用できない場合) に対応する以下の改善されたコードを試してください。

!30.times { if (driver.find_element(:xpath, "//input[@id='submitButton']") rescue false) then break else sleep 1; end } 
于 2012-06-29T14:02:21.650 に答える