2010-03-01 44 views
1

測試jQuery的改變事件我有一個地方改變事件已綁定到使用jQuery的元素的選擇列表。事情是這樣的:使用Watij

$("#someId").change(function() {..}); 

當有人選擇在選擇列表中的一個新選項,用戶界面的其他部分也會隨之改變。現在,當我用鼠標點擊的東西,但是,使用Watij寫我的測試中,當我需要jQuery的變化觸發事件,它是不是做這個工作正常。

的Watij測試將正確地選擇所需的選擇選項,但實際的事件不會被觸發。我曾嘗試致電fireevent("change");fireevent("onchange");無濟於事。我也試過ie.sendKeys("{ENTER}");ie.sendKeys("{TAB}");,這似乎也沒有辦法。

任何想法?

回答

1

到目前爲止我發現的唯一的解決辦法是回滾的jQuery的版本中使用。我目前正在使用版本1.4.1(關於選擇框上的更改事件的可測試性的問題),並且在返回到版本1.2.6後,問題消失。

1

使用$('#someId').trigger('change');手動觸發事件。

trigger()的文檔。

0

當使用腳本更改組合/列表值時,不應觸發onchange。我不知道Watij是怎麼做的,但這是一個例子。

第二件事是Watij正在使用IE瀏覽器(只要維基百科是正確的),並且IE將系統控制放在您的列表或組合中,它也可能會破壞某些東西。嘗試升級到IE8,它具有更好的表單組件實現(例如,選擇最終支持在10年後的「禁用」屬性)

您可能也有興趣在正常的應用程序GUI測試應用程序,並使用它們一個帶有webapp的瀏覽器。記錄一個宏並檢查截圖。