绝对xpath和相对xpath有什么区别?在Selenium自动化测试中,哪个是首选的?我正在使用Selenium和Robot框架准备测试脚本。
发布于 2014-11-28 15:02:42
绝对:它使用从根元素到期望元素的完整路径。
相对Xpath:您可以简单地从引用所需的元素开始,然后从那里开始。
相对Xpath总是首选的,因为它们不是根元素的完整路径。(//html//body)。因为在将来,如果添加/删除了任何webelement,那么绝对Xpath就会改变。因此,在Automation中始终使用相对Xpath。
下面是一些链接,您可以参考这些链接以获取有关它们的更多信息。
发布于 2014-11-28 15:03:28
HTML DOM中的绝对xpath以/html开头,例如
/html/body/div[5]/div[2]/div/div[2]/div[2]/h2[1]并且相对xpath找到dom元素的封闭id并从该元素开始生成xpath,例如
.//*[@id='answers']/h2[1]/a[1]可以使用firepath (firebug)生成这两种类型的xpath
在selenium中使用哪个xpath没有任何区别,前者可能比后者更快(但它不会被观察到)
绝对xpath容易出现更多的回归,因为DOM中的细微变化会使它们无效或引用错误的元素
发布于 2017-07-13 17:52:49
考虑下面的Html
<html>
<body>
<input type ="text" id="username">
</body>
</html>所以输入输入相对路径=//*@id=“用户名”
绝对xpath的缺点是维护性很高,如果在html中没有做任何更改,它可能会干扰整个路径,而且有时我们需要写很长的绝对xpath,所以相对xpath是首选的。
https://stackoverflow.com/questions/27183353
复制相似问题