问题标签 [microsoft-ui-automation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - rootElement->FindFirst(...) 找不到 Inspect 看到的元素
我正在尝试查找 Windows 上的“服务”窗口(开始->运行->Services.msc)中包含的列表项。该列表项名为“Arc Service”,使用 Inspect 很容易找到,但我的代码无法找到它。这是一个相对简单的案例,我觉得我一定做错了什么。
有问题的代码是:
“找到 Arc 服务元素!” 永远不会进入分支。
以下是 Inspect 中描述该元素的详细信息:
任何帮助将不胜感激。谢谢!
wpf - 如何在 UIAutomation 中识别 WPF 绘图视觉效果?
我们的应用程序有一个画布,我们向其中添加绘图视觉效果(如线条、多边形等)
我们的目标是通过自动化将这些视觉效果添加到画布中,并验证它们是否被正确添加。我们使用基于 Microsoft 的 UIAutomation 的框架。
当使用像“检查”这样的工具来检查视觉结构时,我找不到画布。做了一些研究并发现您需要覆盖OnCreateAutomationPeer
from 的方法UIElement
,并返回适用AutomationPeer
的对象才能能够在自动化中看到它。
进行了更改,现在我可以看到画布,但是我仍然看不到画布下添加的任何视觉效果。
谁能帮我理解问题是什么?
尝试过的事情/替代方案:
- 尝试使用 OnCreateAutomationPeer 技术,但
DrawingVisual
s 不派生自UIElement
,并且我无法将UIElement
s 添加到Canvas.VisualCollection
. - 图像识别是一种选择,但出于性能/维护方面的考虑,我们试图避免使用它。
c# - AutomationElement ScrollBar 在 ScrollVertical 上引发访问冲突
我正在尝试使用以下代码在第三方 .net 应用程序中滚动滚动条。当我在 Visual Studio 中运行代码时,它会引发访问冲突。当我在 Visual Studio 之外执行程序集时,它显示 Unsupported Pattern.... 任何想法都非常感谢 =]
c# - WPF ListView 对象有时被 UIAutomation 识别为 DataGrid 而不是 ListView
我们有一个ListView
在我们的应用程序中使用的对象,它是一个新类SortableListView : ListView
并使用该GridView
模式。我们添加了一个自定义提供程序,它允许在自动化过程中对行进行去虚拟化(因此我们不需要执行“在屏幕上检查、否、滚动、重复”选择列表中的项目的方法)。它效果很好,当您意识到屏幕外的对象时,它会有效地出现在屏幕上。我们使用 ListView 因为网格是只读的,所以我们不需要 DataGrid 的编辑模板。
但是,有时(我们无法准确追踪导致它的原因)ControlType 被识别为 DataGrid 而不是 ListView。这破坏了我们的自动化,并且我们能找到的唯一方法是,每次我们必须处理网格时,我们都必须检查它是否将自身呈现为 DataGrid 或 ListView。更令人不安的是表的实际行具有 Class ListViewItem
,Microsoft 未修改的确切对象形式,但被识别为 DataGrid 行。
有谁知道为什么 UIAutomation 会决定它是一个DataGrid
而不是 ListView?它实际上只是直接从 ListView 继承的。
c# - 有没有办法持久化 UIAutomation 元素?
我正在使用 Windows 7(64 位)上的 MS UIAutomation。我想知道是否可以使 UIAutomation 元素持续存在,如果可以的话,可以从什么出发点去做。
我唯一想到的是元素的 RuntimeID,但问题是某些元素可能没有 id。
我想要实现的一个简单场景是,我通过使用 找到屏幕上控件的 UIAutomation 元素AutomationElement.FromPoint()
,现在我想保留它,以便下次我可以通过将其“加载”回UIAutomation Element
.
c# - UIAutomation c#文本框随着鼠标单击或失去焦点而消失
我在 Visual c # express 2010 中使用 UIAutomation 我正在尝试在 UI 应用程序中自动输入文本框文本突然消失在这里是我工作的文件的 UIspy 日志
这是我使用的代码,当然我使用自动化 id 100 来定位这个文件
因此,当我运行此代码时,在文本框中输入了“值”,但是如果我更改了 foucs,它就会消失任何想法,我试图自动输入该表单并保存它.. 谢谢
ui-automation - 是否有 Microsoft UI 自动化 (UIA) 的 WebDriver 实现?
我正在寻找Microsoft UI 自动化 (UIA)的 WebDriver 实现来自动化桌面应用程序和存储应用程序。
就像Appium和Appium for Mac所做的一样,除了 Web 应用程序和移动应用程序之外,我认为 WebDriver API 应该也适用于 Windows 桌面应用程序和商店应用程序(以前称为 Metro 应用程序)。
我将实现一个服务器,它公开 WebDriver API 并在内部通过 UI 自动化 API 与 UI 元素交互。你知道是否存在一些这样做的开源项目吗?
ui-automation - CodedUI 测试 - 无法将纯文本密码发送到输入字段
在某些时候,当我将密码发送到表单上的输入字段时,看起来它被加密了。密码长度为 8,但 CodedUI 正在输入更多字符,在测试执行期间可见。任何想法,如何只传递字符串而不进行任何编码?
附言
代码示例:
c# - MSAA 发现 UI 自动化没有的控件
我正在致力于自动化 Windows 应用程序。我正在使用 teststack 白色框架。我遇到了一个问题。这个程序有一个我看不到里面的“窗口”对象。白色显示其中没有控件。在 UI 自动化模式下运行时,Inspect.exe 内部也不显示任何控件。如果我将 Inspect 切换到 MSAA,它会看到里面的控件很好。无论如何,我是否可以使用 C# 中的 MSAA 来处理这些控件?
winforms - 提供属性 Text 时,UI 自动化在选项卡控件内找不到 tabPage
我已经尽可能地简化了这个问题,下面的代码可以剪切并粘贴到“test.linq”文件中并加载到 LinqPad 中。就目前而言,在 LinqPad 中运行此代码将显示它正在工作 - 目的是tabPage1
使用 UI 自动化框架找到带有 AutomationId 的窗格。
现在注释掉工作线并引入虚线。现在找不到标签页...唯一的区别是标签页是用Text
属性声明的。
我发现了一系列博客,这些博客可能表明错误出在一个自动化提供程序上,TabControl
但是已经反编译了TabControl
源代码,我看不出是这种情况,但是基础Control
实现了一个处理程序,WM_GETOBJECT
我真的不是确定这会导致什么。
有任何想法吗?