2011-12-30 49 views
1

我能夠執行鼠標移動,使用Selenium的mouseMove函數觸發菜單,但是我的瀏覽器自動化的大部分內容都是Watin。在Watin中有沒有合適的替代方案?用於Watin的mouseMove

我已經試過

div.FireEvent("onMouseMove"); 
div.MouseEnter(); 

沒有運氣。我的目標是相同的div類。用於Selenium的mouseMove作品,Watin的onmouseMove不。

+0

你有沒有發現你的答案? – Gabber 2012-03-21 10:22:45

+0

還沒有。我已經推遲了這個麻煩的項目並轉移到其他方面。我會回來的。 – atwellpub 2012-03-21 17:16:08

回答

0

使用一些胡思亂想的表單驗證,我不得不直接調用javascript change()方法來獲取表單驗證,因爲Watin的元素click()沒有這樣做。

調用change()看起來像這樣。

var jqElement = string.Format("window.jQuery({0})", GetJavascriptElementReference()); 
DomContainer.Eval(string.Format("{0}.change()", jqElement)); 

顯然,你需要在你的形式來改變window.jQuery ......部分點,改改()方法,你需要調用合適的鼠標懸停方法。

由於在您的測試代碼中調用特定的javascript方法,因此這裏的缺點是脆弱性。

直接調用的JavaScript的另一個例子可以看出,在這裏我的答案:Autocomplete DropDown Menu Testing using WatiN

+0

jQuery({0})代表什麼?我能否通過課堂或其他屬性來識別我的元素? – atwellpub 2011-12-30 22:25:28

0

給移動鼠標一試...

div.FireEvent("mouseenter"); 
div.FireEvent("mousemove"); 
+0

如果我忽略'開',它會在故障排除日誌中引發錯誤。 「無效的論點。」 – atwellpub 2011-12-31 22:55:19