我正在尝试使用WinApp 驱动程序在 Visual Studio 2017 中自动化扩展的 UI(WPF),但在使用Inspect.exe(Windows SDK)捕获元素时找不到自动化 ID
最初,在 Inspect.exe 检查时没有找到自动化 ID。因此,我在 XAML 文件的自动化属性中设置了自动化 ID,并在 Visual Studio 中安装了新的 VSIX,但在捕获元素时上述设置的 ID 仍然不可见。
但是在我如上所述在 XAML 中设置 id/s 后尝试捕获 UI 对象后,使用检查元素工具,偶尔会出现自动化 id 但它不一致,我找不到它不可用/不可见的原因始终如一。
通过使用“FindElementByName”和“FindElementByClassName”,我在某些情况下取得了成功,但我的意图是使用自动化 ID 更准确地捕获元素。
下面是我设置 AutomationId 的 XAML 代码;
Button Content="Close" Width="80" Height="25" Margin="10,0,0,0" Visibility="{Binding abc}" Click="CloseButton_Click" AutomationProperties.AutomationId="BtnCloseExample"
下面是我设置 id 以在我的测试项目中捕获元素的代码行;
session.FindElementById("BtnCloseExample").Click(); Thread.Sleep(TimeSpan.FromSeconds(3));
我希望以一致的方式设置和获取自动化 ID,以便使用 FindElementById 或 xpath。可悲的是,我也找不到与此问题相关的好文章。
请阐明并提供一些指导方针来完成这项任务。如果可能的话,如果有人可以发布自动化 wpf 应用程序的示例,那将是非常有价值的。
谢谢你。