2014-12-19 64 views
2

我正在使用Ranorex工具。我工作的一个应用程序基于.NET,并捕获对象的特定对象的XPATH,我们正在使用该XPATH来检查该对象是否存在。但是如果物体的属性改变了一段时间,我们需要再次改变XPATH。有没有解决方案?Ranorex XPATH问题

+0

在XPATH如果我把*为初始值,并在对象的最终名称,它在我的电脑上工作,但同样的事情在其他机器上不起作用 – user4376935 2014-12-19 07:11:29

+0

您不应该直接回应您在SO上的自己的问题(或答案)发表评论。如果您有更多信息要添加,请**编辑**您的问题以添加该信息。 (编辑链接位于左下角,正下方) – 2014-12-19 09:09:12

回答

4

听起来好像您的XPath依赖于正在更改以查找对象的属性。关于XPaths的事情是他们能够跟踪任何属性。因此,例如,如果您正在跟踪某个类上的某个对象,那么该类会更改该对象将不再出现在xpath中。

要解决这个问题,只需找到要追踪的对象的不同属性即可。例如,您可以跟踪价值,位置或几乎任何其他htmnl属性,只是尝试使其不变。

我可以给你寻找xpath的最佳建议是尽可能缩短它。例如如果你正在寻找一个对象唯一的id,那么你的路径需要一个元素。如果您在动态填充的表格的特定行上查找特定的按钮,该按钮无任何特别之处,您可以在给定特定表格单元格的文本的表格上找到该行,然后在适当的单元格中找到该按钮找到的表格行。不要因为间谍工具总会给你唯一的xpath而陷入困境,几乎总是有另一种方式来找到它可能不是最直接的对象。

Here is the ranorex xpath help page为所有正则表达式和其他选项编辑您的xpaths。

+0

请您详细说明确定XPATH的其他方法,即间谍。 – 2015-03-24 08:25:04

+2

那么间谍总是有用的作为一个起点,我不是故意说不要使用间谍,而是你可以编辑间谍给出的xpath。例如间谍工具只会从元素树中的顶部元素向下看,但手动编辑xpaths允许您在树上向上和向下进行遍历。因此,//"#item"/../input[0]将查找包含具有uniqueId项目的项目的元素的第一个输入 – theDarse 2015-03-24 21:02:48

2

Ranorex对于网络爬行来说不是很可靠,xpath selector随机工作,即使你输入了正确的xpath选择器。

您应该使用TestComplete(速度较慢,但​​更可靠的)或测试咖啡厅(更快,更可靠,但有较少的选项,并用jQuery选择,而不是XPath的工作)