Automated tests 使用WatiN将鼠标悬停在元素上
我使用WatiN和MBUnit开发了一套自动化测试。我听说可以让WatiN在元素上“悬停”,但我似乎无法用我过去使用的方法让它工作。有没有其他我不知道的方法?我试过只使用FireEvent“onmouseover”,并使用FireEvent加上单击链接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
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));
}