2012-06-26 42 views
0

我正在使用Selenium IDE 1.8.1 on Firefox 12。我們的其中一個應用程序使用「Yahoo UI」基於按鈕,並且我在Selenium嘗試點擊它們時看到不一致的結果。例如,點擊這個按鈕(input id =「submitButton」)應該會彈出一個模式對話框 - 大約有一半時間它提交數據,但模態對話框永遠不會彈出。 我使用命令:click | css=#submitButton |Selenium不一致點擊Yahoo UI按鈕

<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> 

謝謝大家! P.S.我也嘗試過 fireEvent | css=#submitButton | click,結果相同

回答

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 } 
+0

謝謝,但沒有「錯誤,也沒有超時問題」 - 它只是進行下一步的測試。另外,爲什麼要使用Xpath幫助?這只是一個位置策略。我已經嘗試過CSS。 – gorbysbm