自动化测试由浅入深--使用Xpath定位

上一章讲了一些定位方式,其中最重要的Xpath,这次单独讲一讲,因为Xpath定位方式是自动化测试定位技术的NO1. 几乎可以解决所有的定位难题。

  Xpath其实是XML Path的缩写,是XML的树状文档结构,Xpath可以用于整棵树中寻找指定的节点。XML文档树中的某一节点既可以向前搜索,也可以向后搜索。

  1.使用Xpath绝对路径来定位元素,如下图所示:Xpath选择下面两项

Java定位语句:

webElement input = driver.findElement(By.xpath("html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input"));

但是我们并不建议使用绝对路径,因为绝对路径十分脆弱,页面发生微小变化,也会造成定位失败,建议使用相对路径去定位。

2. 使用相对路径定位页面元素:相对路径只要去掉firebug选项的绝对路径选项即可,如下图所示:

Java定位语句:

webElement input = driver.findElement(By.xpath("//*[@id='kw']"));

  相对路径的Xpath表达式更简洁明了,且定位效率更高,使用相对定位,可大大降低测试脚本中定位表达式的维护。

3.使用页面元素中的某些关键字来定位:如下所示:

Xpath表达式 ://a[text()='百度一下']

Java表达式:

webElement input = driver.findElement(By.xpath("//a[text()='百度一下']"));

此表达要查找包含“百度一下”的链接页面元素,且是精确查找匹配,字数不能多,也不能少。此种方法还有一种包含的方法,大家可以自己查找一下试试。

 实际的自动化测试中我们大部分用到的都是Xpath的相对定位,就能解决。还有很多定位方式,大家如果遇到不能定位的可以多试几种方法。总有一款适合。

欢迎关注笔者 公 众 号 王大哥自动化测试  免费,非机构 扫下面哟

猜你喜欢

转载自www.cnblogs.com/king44/p/11599045.html