请问硒或华廷拥有财产一样QTP的Setting.WebPackage(“ReplayType”)= 2?
-
19-09-2019 - |
题
有应用程序中的一些按钮和菜单我测试需要实际点击通过和FireEvent风格点击发送所有的信息似乎并没有削减它。无论TestPartner和QTP可以使用的实际点击次数。 TestPartner这是否总是(缓动)和QTP通过从1改变“ReplayType”到2做到这一点。
Setting.WebPackage("ReplayType") = 2
所以我的问题是。反正是有得到真正的点击在华廷或硒?我一直没能找到该选项。
感谢您, 约什
解决方案
硒2可以发射,而不是试图合成点击和击键等硒1确实实的点击。它做了很多的互动与操作系统本身来完成这些事情,在谈到很多硒的1个问题,如被它烧成点击或鼠标松开或的mousedown?
硒2处于其第二α相,是相当稳定的时刻。您可以从 http://code.google.com/p/selenium让Selenium 2.0a2 /下载/列表。
我一直在.NET绑定和我与他们去的方式真的很开心。
其他提示
当ReplayType
被设置为设备强>(2),实际上QTP移动鼠标并执行单击(你可以看到鼠标光标移动)。我不是很熟悉,硒但是从我知道的重播是纯JavaScript实现,因此它可以触发DOM事件(如QTP不会在事件ReplayMode
),但它不能模拟的真正的点击方式QTP一样。
使用华廷,能够得到在IE窗口元件的“天然的”接口。使用,你可以得到任何元素的屏幕坐标。
using mshtml; //Add a reference to Microsoft.mshtml that comes with WatiN.
using WatiN.Core.Native.InternetExplorer;
public static System.Drawing.Point GetScreenPoint(IEElement element)
{
IHTMLElement nativeElement = element.AsHtmlElement;
IHTMLElement2 offsetElement = (IHTMLElement2)nativeElement;
IHTMLRect clientRect = offsetElement.getBoundingClientRect();
IHTMLDocument2 doc = (IHTMLDocument2)nativeElement.document;
IHTMLWindow3 window = (IHTMLWindow3)doc.parentWindow;
int windowLeft = window.screenLeft;
int windowTop = window.screenTop;
int elementLeft = clientRect.left;
int elementTop = clientRect.top;
int width = nativeElement.offsetWidth;
int height = nativeElement.offsetHeight;
int clickX = windowLeft + elementLeft + (width / 2);
int clickY = windowTop + elementTop + (height / 2);
return new System.Drawing.Point(clickX, clickY);
}
要使用它:
Button myButton = browser.Button(Find.ById("myButton"));
System.Drawing.Point clickPoint = GetScreenPoint((IEElement)myButton.NativeElement);
MyClick(clickPoint);
显然,元件必须是可见的。我不知道如何检查为副手,但我认为你可以改变scrollTop的和身体的scrollLeft属性左右滚动。
您还需要一种方法来实际做的点击,但可能有一个答案已经在计算器。
不隶属于 StackOverflow