Microsoft Automation UI 鼠标单击给定位置

Microsoft Automation UI mouse click on a given position

我正在开发一个 C# 控制台应用程序,它将打开一个应用程序并在那里执行一些操作。我能够启动应用程序并登录到应用程序。我需要在特定位置上进行一些鼠标点击操作,但找不到如何操作。可以模拟吗?我必须使用该位置,因为我需要做的不仅仅是单击按钮或文本框。我需要右键单击主 window 并从打开的菜单中选择一些内容。我不确定是否有办法使用 Microsoft Automation UI。

提前致谢。

Microsoft.TestApi should be able to click on a coordinate you provide. Take a look at the Mouse class' MoveTo 方法。

您可能必须通过 WinAPI 的 GetClientRect method though. Alternatively, you can use the TestApi in conjunction with UIAutomation as you were intending to use. Get the AutomationElement of your launched process by getting the window handle, then you can navigate the visual tree with UIAutomation, and use GetClickablePoint 获取坐标才能获得可以传递给 TestApi 的 Mouse.MoveTo() 方法的 Point 对象。

从 Nuget 下载Microsoft.TestApi。

using Microsoft.Test.Input;
using System.Drawing;

Mouse.MoveTo(new Point(1000, 1000));
Mouse.Click(MouseButton.Right);

此外,您可以使用 Teststack.White 实现此类自动化目的。