c# - 使用搜索条件作为 "OR"语句识别具有白色 UI 自动化的 WPF 控件

标签 c# wpf ui-automation white-framework microsoft-ui-automation

我目前正在尝试自动测试 WPF 应用程序,并有几个控件,其中 automationID 在运行时确定(目前的问题是切换按钮已经变成下拉菜单,其中文本切换按钮的是所选项目)

为了解决这个问题,我相信我可以添加所有可用的选择作为搜索条件,并告诉 TestStack.White 的搜索功能我希望使用 OrSearchCondition属性(property);但是,我找不到任何关于如何使用此功能的文档,也无法通过阅读 source code 来弄明白。 .

此外,我还找到了one relevant question到 GitHub 上的这个问题,尽管它仍然没有答案。

最佳答案

由于 SearchCriteria(SearchCondition searchCondition) 构造函数被标记为私有(private),我不相信它们是您使用 OrSearchCondition 创建 SearchCriteria 的任何方法。似乎需要将一些辅助方法添加到 SearchCriteria 以允许用户使用 OrConditions 创建 SearchCriteria

您可以解决此问题,方法是使用 SearchCriteria.All,然后使用 linq 遍历您为要查找的属性返回的所有自动化元素。如果您使用这种方法来防止大量跨进程调用,我建议您使用缓存。

关于c# - 使用搜索条件作为 "OR"语句识别具有白色 UI 自动化的 WPF 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47209914/

相关文章:

c# - 我可以在不使用浏览器对象的情况下直接在 WPF 中调用 javascript 吗?

c# - 哪个具有更好的性能,Action 或 Wiring to Event

c# - wpf如何从嵌套 View 切换父选项卡

c# - WPF UserControl Dependency Property Setter 未触发

c# - MissingMethodException 未处理

c# - 如何在 C# 中使用 & 运算符?代码的翻译是否正确?

wpf - 如何让 StackPanel 的子级向下填充最大空间?

c++ - 在 Visual Studio 中通过包管理器控制台安装 TestStack.White

C# TestStack.White - 无法精确定位到我想要的按钮

ios - 在没有应用程序源代码的情况下使用 Instruments 测试 iOS 应用程序