使用 MS Coded UI,有没有办法指定必须从特定父级开始搜索控件?
我正在搜索一个控件,我想根据搜索的成功或失败执行不同的操作。不幸的是,由于另一个控件(具有完全不同的父控件)具有相同的自动化 ID(应用程序非常大,因此这种情况经常发生),因此搜索总是成功(无论是否存在相关控件)。
我猜搜索是从指定的父级开始并寻找所需的控件。当找不到时,我相信搜索会再次从根开始,这次找到了同名控件(尽管它不是我感兴趣的控件,它是不同子树的一部分)。
我的问题是您是否可以将对控件的搜索限制在特定的子树中。例如,考虑主视图 Main 有两个 subview View1 和 View2 的情况。每个 subview 都包含一个自动 ID 为“coolControl”的控件。
有没有办法限制 UI 搜索,以便只有在特定父级(比如 View1)下找到搜索才会成功?失败时,是否可以阻止搜索从根目录重新开始?
最佳答案
我相信你能做到,
您熟悉搜索属性和过滤器属性吗?
如果不是,我建议您执行以下操作。
进入UIMap.uitest文件
右键单击您的操作并选择属性
在“搜索属性”中,您可以添加新属性,例如 TagName 或 TagInstance,或者删除导致问题的属性或过滤器属性。
如果这不起作用,或者如果您已经尝试过,您将需要手动编写搜索代码,这很棘手。
关于c# - 如何限制编码的 UI 测试控件搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860102/