我开发了一套使用WatiN和MBUnit开发的自动化测试。我听说有可能让WatiN“悬停”在一个元素上,但我似乎无法使用我过去使用过的方法。还有其他方法可以做到这一点,我不知道吗?我尝试过使用FireEvent'onmouseover',并使用FireEvent并点击链接。
myDiv.HoverLink.FireEvent("onmouseover");
myDiv.HoverLink.Click();
有什么建议吗?提前谢谢!
答案 0 :(得分:0)
尝试在要悬停的对象上使用MouseEnter
方法。
以下是一个例子:
hoverLink.MouseEnter();
答案 1 :(得分:0)
/// <summary>
/// Mouse Over on given <see cref="Element"/>
/// </summary>
/// <param name="element">element</param>
/// <returns>Nothing</returns>
public static void MouseOver(this Element element)
{
var jref = element.GetJavascriptElementReference();
var dom = element.DomContainer;
var evt = new JSEventCreator(jref, null);
var evtProp = new NameValueCollection();
evtProp.Add("windowObject", "window");
var scriptCode = evt.CreateMouseEventCommand("mouseover", evtProp);
Logger.LogDebug(scriptCode);
scriptCode = scriptCode.ToString() + jref + ".dispatchEvent(event);";
string result = dom.Eval(scriptCode);
Logger.LogAction(result);
dom.WaitForComplete();
Thread.Sleep(TimeSpan.FromSeconds(2));
}
这就是我所做的,它在IE 11和FF上都有效。