c# - 如何限制编码的 UI 测试控件搜索

标签 c# user-interface msdn coded-ui-tests ui-testing

使用 MS Coded UI,有没有办法指定必须从特定父级开始搜索控件?

我正在搜索一个控件,我想根据搜索的成功或失败执行不同的操作。不幸的是,由于另一个控件(具有完全不同的父控件)具有相同的自动化 ID(应用程序非常大,因此这种情况经常发生),因此搜索总是成功(无论是否存在相关控件)。

我猜搜索是从指定的父级开始并寻找所需的控件。当找不到时,我相信搜索会再次从根开始,这次找到了同名控件(尽管它不是我感兴趣的控件,它是不同子树的一部分)。

我的问题是您是否可以将对控件的搜索限制在特定的子树中。例如,考虑主视图 Main 有两个 subview View1 和 View2 的情况。每个 subview 都包含一个自动 ID 为“coolControl”的控件。

有没有办法限制 UI 搜索,以便只有在特定父级(比如 View1)下找到搜索才会成功?失败时,是否可以阻止搜索从根目录重新开始?

最佳答案

我相信你能做到,

您熟悉搜索属性和过滤器属性吗?

如果不是,我建议您执行以下操作。

  1. 进入UIMap.uitest文件

  2. 右键单击您的操作并选择属性

在“搜索属性”中,您可以添加新属性,例如 TagName 或 TagInstance,或者删除导致问题的属性或过滤器属性。

如果这不起作用,或者如果您已经尝试过,您将需要手动编写搜索代码,这很棘手。

关于c# - 如何限制编码的 UI 测试控件搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860102/

相关文章:

c# - 将两种方法重构为一种

java - 尝试将多个 JPanel 添加到一个主 JPanel 中并设置边框布局

c# - Int64(长整型)和线程安全

c# - GUITexture 已被弃用,那么我应该使用什么来代替它呢?

objective-c - 停止执行并获得用户在 iPad 应用程序上的选择

c++ - 需要DECLARE_DYNAMIC吗?

c++ - 我在哪里可以找到 IOCTL 常量值?

c# - System.Xml.XmlTextWriter.WriteStartDocument()

c# - 将用户控件绑定(bind)到 View 模型

c# - 在 C# 中,是否有任何内置方法可以将整数转换为(任何基数的)字符串?