Automated tests 使用WatiN将鼠标悬停在元素上

Automated tests 使用WatiN将鼠标悬停在元素上,automated-tests,watin,mbunit,gallio,Automated Tests,Watin,Mbunit,Gallio,我使用WatiN和MBUnit开发了一套自动化测试。我听说可以让WatiN在元素上“悬停”,但我似乎无法用我过去使用的方法让它工作。有没有其他我不知道的方法?我试过只使用FireEvent“onmouseover”,并使用FireEvent加上单击链接 myDiv.HoverLink.FireEvent("onmouseover"); myDiv.HoverLink.Click(); 有什么建议吗?提前谢谢 在要悬停的对象上尝试使用MouseEnter方法 下面是一个例子: hoverLink

我使用WatiN和MBUnit开发了一套自动化测试。我听说可以让WatiN在元素上“悬停”,但我似乎无法用我过去使用的方法让它工作。有没有其他我不知道的方法?我试过只使用FireEvent“onmouseover”,并使用FireEvent加上单击链接

myDiv.HoverLink.FireEvent("onmouseover");
myDiv.HoverLink.Click();

有什么建议吗?提前谢谢

在要悬停的对象上尝试使用
MouseEnter
方法

下面是一个例子:

hoverLink.MouseEnter();
//
///鼠标悬停在给定的
/// 
///元素
///没什么
公共静态无效鼠标悬停(此元素)
{
var jref=element.GetJavascriptElementReference();
var dom=element.DomContainer;
var evt=new-JSEventCreator(jref,null);
var evtProp=new NameValueCollection();
添加(“windowObject”、“window”);
var scriptCode=evt.CreateMouseEventCommand(“mouseover”,evtProp);
Logger.LogDebug(脚本代码);
scriptCode=scriptCode.ToString()+jref+“.dispatchEvent(事件);”;
字符串结果=dom.Eval(脚本代码);
Logger.LogAction(结果);
dom.WaitForComplete();
线程睡眠(TimeSpan.FromSeconds(2));
}

这就是我所做的,它在IE 11和FF上都有效。

您好,您有没有找到任何解决方案?
    /// <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));
    }