0

我一直在尝试使用 C# 自动化 Windows 程序。使用 Windows Kits (SDK) 中的 Inspect.exe 后,我尝试使用的许多元素似乎没有静态 AutomationID、元素名称等。问题是这些元素可能具有相同的属性与 WPF 同一窗格中的其他元素一样,因此我试图找出确定所需元素的最佳方法。

克服这个问题的最佳方法是什么?

Inspect.exe 元素之一的屏幕截图(供参考)

我查看了 Windows UIAutomation 库以及 TestStack.White,但我愿意接受建议。

笔记:

  • 该程序安装在客户端计算机上。
  • 使用 Spy++,它不会在 WPF 中找到元素,而只会找到元素所在的父容器。
  • 我在我的开发机器(Windows 10)上安装了 Windows 应用程序驱动程序(和 UI 记录器),但我试图自动化的程序驻留在 Windows 8.1 上,WAD 似乎不支持它。(如果我错了,请纠正我。)
  • 使用 WAD UI Recorder,我可以获得元素的 XPATH。
  • BoundingRectangle 属性似乎会根据窗口的大小而变化,目前与该程序一起工作的第 3 方自动化程序似乎间歇性地以不同大小显示窗口。
4

0 回答 0