如何查询Coded-UI-Test中测试的当前UI-Window的标题?

How to query the title of the current UI-Window that's tested in a Coded-UI-Test?

谁能告诉我如何获得 window (UI-Control) 在我 UI-Test 期间当前打开的标题? (在 Visual Basic .NET 中使用 Visual Studio 编码-UI-Test)

我现在搜索了一段时间,但不幸的是我没有找到任何东西。

在此先感谢您的帮助。

此致 西蒙

您可以搜索该控件的 automationId 并查看您找到的控件的属性。在您的编码 ui 测试中,您可以检查控件是否存在,只要您希望它可用。 看看这张截图,它是我用 Inspect.exe 捕获的浏览器 window 的数据。

如您所见,在这种情况下,在我的测试脚本中,我需要搜索 AutomationId "TitleBar" 并使用属性 LegacyIAccessible.Value 或 Value.Value 中的值,以便获得 window 称号。

由于您使用的是编码 UI,获得该控件的最简单方法是使用编码 ui 测试 b[=38 中的 build =]lder 来自 Visual Studio 并将控件添加到 UIMap。无需记录新测试。您可以找到说明 here。 SudheerUppada 的回答很有用。如果您不喜欢使用 UIMaps,您可以将生成的代码的有用位复制到您的测试脚本,然后从 UIMap 中删除控件。

这是同一 ui 控件的屏幕截图,取自测试 builder: 在此示例中,window 标题可通过 DisplayText 属性.

获得

还有更通用的方法来查找当前 window 标题。这涉及迭代任何给定的控件,直到您拥有最上面的 parent 控件。您将需要编写一个涉及使用 UITestControl.GetParent() 的方法。它可能需要递归才能从 parent 从 parent 从...获得 parent 。你的想法对吗?看看来自 telerik 的 this answer, it's roughly the same but for child controls. You can convert C# code to vb code with online tools like this one

您的编码 ui 测试可能无法访问控件 and/or 来自该控件的标题。那是另一个问题。如果您的情况属于这种情况,互联网上有许多资源可以描述需要做什么...或者您可以 post 提出一个新问题 :-)。