2

我们可以Microsoft.VisualStudio.TestTools.UITesting.Mouse在程序中用于自动化目的吗(是否可以将它与我们的正常应用程序编码一起使用。不用于测试。)

我想在我的程序中自动化一些鼠标移动。就像我们在 Microsoft UI 自动化中所做的那样。我不打算创建一个测试项目。

如果这是可能的,请给我建议。

UI自动化是否可以模拟鼠标?

编辑
因为这是(Microsoft.VisualStudio.TestTools.UITesting.Mouse)用于编码的 UI 测试,我想知道是否可以用于正常的编程目的。因为这个Mouse类有一些我需要的有用的方法。

4

2 回答 2

2

从应用程序中使用它在技术上是可行的。我相信您需要做的就是确保Playback.Initialize在使用Mouse课程之前致电。但是,我相信 VS 的许可证不允许您在应用程序中重新分发所需的 dll。

UI 自动化没有用于低级输入模拟的设施。

当无法使用 UI 自动化和编码的 UI api 时,我已经成功地使用了TestApi项目来自动化鼠标和键盘输入。用那里的类很容易完成移动和单击鼠标Mouse

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

Mouse.MoveTo(new Point(100, 200));
Mouse.Click(MouseButton.Left);
于 2012-12-05T07:39:34.520 回答
1

设置鼠标位置就这么简单:

System.Windows.Forms.Cursor.Position = new Point(x, y);

您还可以使用一些 pinvoke 调用通过消息循环发送点击消息。

我前段时间使用过这个答案。

编辑

正如我所想,如果没有额外的许可,您将无法使用编码的 UI 库分发您的应用程序:

如何在没有 Visual Studio 2010 Premium 的情况下运行编码的 UI 测试

于 2012-12-05T07:26:59.647 回答