当前位置: 首页 > 知识库问答 >
问题:

使用Inspect.exe for WinApp驱动程序自动化无法获取WPF应用程序的自动化id

陆飞鸿
2023-03-14

我正尝试使用WinApp驱动程序在Visual Studio 2017中自动化扩展(WPF)的UI,但在使用inspect.exe(Windows SDK)捕获元素时找不到自动化id

最初,当通过inspect.exe检查时,找不到自动化ID。因此,我在XAML文件的automation属性中设置了automation id,并将新的VSIX安装回Visual Studio中,但在捕获元素时,上述设置的id仍然不可见。

但是,当我尝试在XAML中设置id/S之后捕获UI对象(如上所述),使用inspect element工具时,零星地出现了automation id,但是它不一致,并且我找不到它不一致地可用/可见的原因。

在某些场景中,我使用了'findElementByName'和'findElementByClassName'获得了成功,但我的意图是使用自动化id更准确地捕获元素。

下面是我设置了AutomationID的XAML代码

请提供一些实现这一任务的指导方针。如果有人能发布一个自动化wpf应用程序的示例(如果可能的话),那将是非常有价值的。

谢谢你。

共有1个答案

冀鸿才
2023-03-14

如果您试图通过automation ID定位UI元素,则应使用findElementByAccessibilityID而不是findElementByID(它将查找运行时ID),如此处所述:https://github.com/microsoft/winappdriver#support-locators-to-find-ui-elements

 类似资料:
  • 我试图执行一个测试在移动设备但我有下一个错误 Chrome版本:83.04103.101 我正在寻找解决方案,但什么也没找到。

  • 环境:Eclipse-Java-Junit-Firefox web driver 屏幕截图网址 : https://www.dropbox.com/s/26fl2l1y1mkpxiz/Screenshot 2014-01-06 01.52.43.png 我试图测试一个网页,但找不到元素(看起来像按钮)。Firebug的xpath是:<code>/*〔@id='DERIVED_REGFRM1_LIN

  • 为Electron应用编写自动测试, 你需要一种 "驱动" 应用程序的方法。 Spectron 是一种常用的解决方案, 它允许您通过 WebDriver 模拟用户行为。 当然,也可以使用node的内建IPC STDIO来编写自己的自定义驱动。 自定义驱动的优势在于,它往往比Spectron需要更少的开销,并允许你向测试套件公开自定义方法。 我们将用 Node.js 的 child_process

  • 为Electron应用编写自动测试, 你需要一种 "驱动" 应用程序的方法。 Spectron is a commonly-used solution which lets you emulate user actions via WebDriver. 当然,也可以使用node的内建IPC STDIO来编写自己的自定义驱动。 自定义驱动的优势在于,它往往比Spectron需要更少的开销,并允许你向

  • 我正在寻找支持自动化Windows应用程序,如记事本使用Qmetum自动化框架与BDD步骤。我尝试与Appium驱动程序,但没有工作。 Step1:打开记事本Step2:输入“一些文本”[在这里输入链接描述][1] 成功日志:Windows应用程序驱动程序在以下位置侦听请求:http://127.0.0.1:4723/ 按ENTER键退出。 ============================

  • 有不同类型的自动化驱动程序 我正在使用appium和Selenium自动化iOS本机应用程序。 我应该从以下列表中使用哪个驱动程序: WebDriver RemoteWebDriver IOSDriver 阿皮乌姆河 我将使用PageObject模式来实现这一点。 如果有人有iOS本机应用程序(Appium Selenium)的PageObject模式示例项目。 请帮忙。