我编写了自定义点击方法,该方法使用鼠标点击和点击中心方法。我很少打电话给' ClickCenter'方法,所以我使用硬编码值,如下面的脚本和代码工作正常,但希望避免硬编码。有什么帮助吗?
public void Click<T>(UITestControl window, params string[] propertyvalues) where T : HtmlControl
{
HtmlControl genericControl = (T)Activator.CreateInstance(typeof(T), new object[] { window });
if (propertyvalues.Length == 2)
{
genericControl.SearchProperties.Add(propertyvalues);
if (propertyvalues[1] == "Account Status...")
{
ClickCenter(genericControl);
return;
}
}
else
for (int i = 0; i < propertyvalues.Length; i = i + 2)
{
genericControl.SearchProperties.Add(propertyvalues[i], propertyvalues[i + 1]);
}
Mouse.Click(genericControl);
}
答案 0 :(得分:0)
考虑使用BoundingRectangle
的{{1}}属性。您无需将控件传递给UITestControl
您只需传递控件中心点的绝对坐标,您可以从Mouse.Click();
计算:
public static Point Center(此Rectangle矩形){ 返回new Point(rectangle.Left + rectangle.Width / 2,rectangle.Top + rectangle.Height / 2); }