selenium中用fireEvent解決select和type無法觸發onXXX事件的問題

       今天在做selenium+Junit測試的時候,發現selenium的type和select函數雖然能模擬輸入和選擇列表的功能,卻不能觸發相應控件上的onXXX 事件,比如onblur、onchange等,使測試無法正確進行。經過一番谷歌和思索,得出了以下解決辦法:

       首先保證你的測試類繼承SeleneseTestCase而不是TestCase(前者是後者的子類),這是爲了在測試時使用SeleneseTestCase的pause函數。

       以select觸發onchange事件爲例:兩個下拉列表A和B,B要根據A的選項列出不同的選項,如果只用selenium的select函數,是不能解決的。                                

  

         第二行是必須的,我做過實驗,如果沒有這一行onchange事件無法觸發。

         第三行使程序暫停1秒,爲的是給JavaScript運行的時間,如果沒有這一行,錯誤可想而知了。                 

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章