0

这是一个愚蠢的问题,但我开始使用 MS 编码 UI 测试。我想知道是否有一种方法可以使用 XPath 而不是默认匹配机制来查找页面元素?我想要做的是匹配父元素并以编程方式向下导航 DOM 树以获取我想要使用的元素。这可以使用 Selenium 轻松完成,但我不确定如何使用 Coded UI Tests 来完成。

谢谢

4

1 回答 1

2

您应该能够xpath使用UITestControlCollection. 使用 CodedUI 的记录器进入顶级控件,然后使用GetChildren导航您的方式。请记住,xpath由于所有对象类型都相似,因此 CodedUI 的 API 不区分这些更改。

例子:

HtmlDocument doc = this.UIYourWindowName.UIYourDocumentName; // mapped control
doc.Find();
UITestControl toline = new UITestControl(doc);
toline.SearchProperties["Id"] = "to_d"; // use the id of the top most control
UITestControlCollection toline1 = toline.GetChildren(); // get the child objects

toline1 = toline1[0].GetChildren(); // xpath: \\ctrl[@id='to_d']\item[0]
toline1 = toline1[0].GetChildren(); // ctrl[]\item[0]\item[0]
// and so on...
于 2012-10-26T19:10:07.393 回答