1

使用命令提示符时鼠标速度位移不是恒定的,具体取决于 Visual Studio 是否打开。

我正在寻找解决此问题的方法。

环境:

Windows 10 企业版 1803 (17134.407)

VS 测试代理 2017 15.9.2

VS 企业 2017 15.9.2

脚步

  1. 创建一个编码的 UI 项目 (.net 4.7.1)。

  2. 添加以下测试方法:

    public void CodedUITestMethod1() { Mouse.Move(new Point(10, 10)); var start = DateTime.Now; Console.WriteLine($"MouseMoveSpeed={Mouse.MouseMoveSpeed.ToString()}"); Mouse.Move(new Point(500, 500)); Console.WriteLine($"Time= {DateTime.Now - start}, MouseMoveSpeed= Mouse.MouseMoveSpeed.ToString()}"); }

  3. 从 Visual Studio 运行测试并记下标准输出(我得到:Time=00:00:01.7835117,MouseMoveSpeed=450)。

  4. 关闭 Visual Studio 的所有实例并从命令提示符处执行之前的测试方法:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\Users\fakeUser\Source\Repos\CodedUITestProject1\bin\发布\CodedUITestProject1.dll" /Logger:trx

  1. 检查 trx 文件中测试结果的标准输出(我得到:Time=00:00:10.3616613, MouseMoveSpeed=450)

  2. 打开 Visual Studio 的一个实例(不需要打开项目,例如可以是 Trx 文件的视图)并在命令提示符下再次运行测试方法。

  3. 检查 trx 文件中测试结果的标准输出(我得到:Time=00:00:01.8037781,MouseMoveSpeed=450)

实际结果:

在 Visual Studio 打开时,通过 vstest.console.exe 执行测试方法时,鼠标速度更快。

预期结果:

无论执行方式如何,鼠标位移都保持不变。

供参考:

  • 在仅安装了 VS 测试代理(未安装 Visual Studio)的全新安装 Windows 10 Professional 时,我得到了相同的结果。

  • 命令提示符中的 MSTest 而不是 VSTest 给出了相同的结果(比打开 Visual Studio 会话时慢)。

  • 您必须先从 Visual Studio 执行测试方法,然后才能运行命令提示符(按照步骤顺序)。也许 Visual Studio 加载的依赖项会创建此行为。

4

0 回答 0