xPath是在硒测试或回退期间将元素定位为目标的首选方法吗?

时间:2019-07-02 07:49:47

标签: selenium xpath

在使用Selenium IDE进行测试时,我注意到该应用程序(貌似)随机选择了一个元素的定位器。有时是一个类,有时是一个ID,有时是一个 xPath

那么xPath是“后备”吗?也许最好使用ID(如果有)来进行更可靠的测试。或者是周围的其他方式?那xPath实际上是在页面上查找元素的黄金标准吗?

我可以调整您看到的测试,不知道是否应该对ID或xPath出错。

1 个答案:

答案 0 :(得分:0)

根据ID attributes一章,定位元素的“首选”方法是使用它们的Choosing a Location Strategy

  

就测试性能而言,使用元素ID或名称定位符是最有效的方法,并且假设页面源中的ID或名称具有很好的命名性,也可以使您的测试代码更具可读性。 XPath语句的处理时间更长,因为浏览器必须运行其XPath处理器。 XPath在Internet Explorer 7版中特别慢,众所周知,通过链接的文本进行定位通常很方便并且运行良好。但是,此技术特定于链接。另外,如果链接的文本可能会频繁更改,则最好选择按元素定位。

另一方面,XPath是最强大的选项,如下:

  • 它具有对页面DOM的完全访问权限
  • 您可以遍历DOM Axes并查询元素儿童/父母/兄弟姐妹,祖先等。
  • 您可以应用functions and operatorscontains()andornotstarts-with(),因此,能够使用XPath在任何页面上定位任何元素,而其他选择器策略则不会。