Windows UI Automation双击鼠标

时间:2017-01-27 14:11:24

标签: c# windows winapi ui-automation

我目前正在使用以下代码双击鼠标按钮。

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);

public static void DoubleClick(AutomationElement element)
{
                Point p = element.GetClickablePoint();
                Cursor.Position = new System.Drawing.Point((int)p.X, (int)p.Y);
                mouse_event(0x02 | 0x04, (uint)p.X, (uint)p.Y, 0, 0);
                mouse_event(0x02 | 0x04, (uint)p.X, (uint)p.Y, 0, 0);
}

但是,我认为这会让资源处于打开状态,导致我的自动化测试无法彻底退出,从而导致崩溃。此外,它要求鼠标实际上位于可点击点上,如果测试人员在错误的时间移动鼠标,则可能会导致问题。这样做有好处吗?

0 个答案:

没有答案