mouseMove for Watin

时间:2011-12-30 21:19:06

标签: c# selenium watin

我能够通过Selenium的mouseMove功能执行鼠标移动触发菜单,但我的大多数浏览器自动化都是Watin。 Watin有这个选项的合适替代品吗?

我试过

div.FireEvent("onMouseMove");
div.MouseEnter();
没有运气。我的目标是相同的div类。用于Selenium的mouseMove,用于Watin的onmouseMove没有。

2 个答案:

答案 0 :(得分:0)

使用一些胡思乱想的表单验证,我不得不直接调用javascript change()方法来激活表单验证,因为Watin的元素click()没有这样做。

调用change()看起来像这样。

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

显然,您需要将window.jQuery ...部分更改为指向您的表单,并将change()方法更改为您需要调用的相应鼠标悬停方法。

这里的负面影响是由于在测试代码中调用特定的javascript方法而导致的脆弱性。

直接调用javascript的另一个例子可以在我的答案中看到:Autocomplete DropDown Menu Testing using WatiN

答案 1 :(得分:0)

尝试鼠标移动......

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