在selenium自动化中使用哪种类型的定位器(如ID,xpath,类名等)

时间:2016-02-03 10:11:11

标签: java selenium xpath selenium-webdriver automated-tests

我们可以使用ID,xpath,类名,标签,名称,链接文本,属性等在网页中找到元素

使用哪种定位器硒可以更快地检测到元素。还有哪种类型的定位器可以使用(访问速度更快,更可靠)

5 个答案:

答案 0 :(得分:1)

在我的经验中,以下是对象搜索时间的顺序。

链接文本:搜索速度最快的方法有时你必须等待控制它并且对所有浏览器都一样但是你需要确保文本内容已经加载,所以如果你的页面是太笨重了

CSS路径:它也非常快,但比链接文本稍快一点但是相信我编辑css路径是一场噩梦,因为你很难找到用户是否更改了类名" XYZ"到" btw"

ID / Name:ID应该是元素的唯一ID。如果您的开发人员遵循标准方式,那么最好。在速度方面等于CSS路径

Xpath :( XPATH的所有和第二个问题最慢是每个浏览器都有不同的语法,如IE与FF或Chrome相比,它有一些其他类型的表达式我总是避免使用Xpath)但是如果你已经编写了严格的xpaths那么你的代码将像魅力一样工作。 Xpath增强了你获得任何元素的能力,并且是最广泛使用的。

http://www.seleniumhq.org/docs/03_webdriver.jsp#locating-ui-elements-webelements

答案 1 :(得分:0)

使用ID和Name的元素最值得信赖,快速且健壮。 Xpath为您提供了更加动态的方法来定位元素,但如果开发人员在HTML中更改了某些内容,则可能会失败

有关详细信息,请参阅以下链接: -

https://blog.mozilla.org/webqa/2013/09/26/writing-reliable-locators-for-selenium-and-webdriver-tests/

http://www.webperformance.com/load-testing/blog/real-browser-manual/building-a-testcase/how-locate-element-the-page/type-element-locators/

http://www.softwaretestinghelp.com/using-selenium-xpath-and-other-locators-selenium-tutorial-5/

希望它会对你有所帮助:)。

答案 2 :(得分:0)

对于基本的html元素,最有效的定位器是ID。对于更复杂的元素,XPath应该可以胜任。

也许这篇文章可能会帮助您解决问题。

http://www.qaautomation.net/?p=188

答案 3 :(得分:0)

在我的经验中,以下是对象搜索时间的顺序。

  1. 链接文字:搜索速度最快的方法有时候你必须等待控制它并且对所有浏览器都一样
  2. CSS路径:它也非常快,但比Link Text
  3. 稍快
  4. ID / Name:在速度方面等于CSS路径
  5. Xpath:XPATH的最慢和第二个问题是每个浏览器都有不同的语法,如IE,与FF或Chrome相比,它有一些其他类型的表达式 我总是避免使用Xpath

答案 4 :(得分:-1)

http://www.w3schools.com/cssref/css_selectors.asp

我个人更喜欢Cssselector。