Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ranorex XPATH问题_C#_.net_Ranorex - Fatal编程技术网

C# Ranorex XPATH问题

C# Ranorex XPATH问题,c#,.net,ranorex,C#,.net,Ranorex,我正在使用Ranorex工具。我正在使用的应用程序是基于.NET的,为了捕获对象,我们使用特定对象的XPATH,并使用该XPATH检查对象是否存在。但一段时间后,若对象的属性发生变化,那个么我们需要再次更改XPATH。有什么解决方案吗?听起来XPath依赖于正在更改的属性来查找对象。XPath的一点是,它们可以跟踪任何属性。因此,例如,如果您正在跟踪一个类上的一个对象,那么该类更改将使该对象不再出现在xpath中 要解决此问题,只需找到要跟踪的对象的其他属性。例如,您可以跟踪值、位置或几乎任何其

我正在使用Ranorex工具。我正在使用的应用程序是基于.NET的,为了捕获对象,我们使用特定对象的XPATH,并使用该XPATH检查对象是否存在。但一段时间后,若对象的属性发生变化,那个么我们需要再次更改XPATH。有什么解决方案吗?

听起来XPath依赖于正在更改的属性来查找对象。XPath的一点是,它们可以跟踪任何属性。因此,例如,如果您正在跟踪一个类上的一个对象,那么该类更改将使该对象不再出现在xpath中

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

关于查找xpath,我能给您的最好建议是使其尽可能简短。例如,如果要查找对象唯一id,则路径需要一个元素。如果要在动态填充表的特定行上查找一个特定按钮,但该按钮没有任何特殊之处,那么可以在给定特定表单元格文本的表上查找该行,然后在找到的表行的相应单元格中查找该按钮。不要认为spy工具总是会给你唯一的xpath——几乎总是有另一种方法来找到对象——它可能不是最直接的


用于编辑xpath的所有正则表达式和其他选项。

Ranorex对于web爬行不是很可靠,即使输入了正确的xpath选择器,xpath选择器也会随机工作


您应该在xpath中使用TestComplete(速度较慢,但更可靠)或Test café(速度更快,更可靠,但选项较少,使用jquery选择器,而不是xpath)

如果我将*作为对象的起始值和结束名,它在我的电脑上工作,但在其他机器上不工作。你不应该在这里对自己的问题(或答案)做出直接回应。如果您有更多信息要添加,请编辑您的问题以添加该信息。(编辑链接在左下角,就在标记的下方)请您详细说明确定XPATH的其他方法,即,将spy放在一边。spy始终是一个有用的起点,我不是说不要使用spy,而是说您可以编辑spy提供的XPATH。例如,spy工具只会在元素树中从顶部元素向下查看,但是手动编辑XPath允许您在树上下遍历。因此//“#item”/../input[0]将找到包含具有唯一id item的item的元素的第一个输入