基于Selenium2+Java的UI自动化(3) - 页面元素定位
一、几种网页定位方式
webdriver的页面定位很灵活,提供了8种定位方式;
其中,常见的有三种:id 、cssSelector 、xpath;
一个元素如果存在 id 属性,则这个 id 的值,在当前页面绝对是唯一的,测试代码根据id来查找元素,速度也是最快的,所以如果条件允许,当然用id最省事;
而很多时候,元素对象并不存在id、或者存在动态的id,那么选择xpath、或者 cssSelector,可以很好的解决定位困难的难题;他们可以定位到网页上90%以上的元素。
二、xpath定位法
xpath是一种选择器,有自己的语法,可以参考w3school,了解一下,有xpath基础的,可以跳过;
在Firefox浏览器中有firebug 和 firepath插件,可以帮助我们自动生成xpath 路径表达式,初学者不建议使用火狐浏览器来学习,路径表达式最好自己理解之后,自己写;
(1)xpath常用符号说明
绝对路径:一般从很目录开始 /html/... 这种写法,很长很繁琐,不推荐使用;
相对路径:又称为 无限深度查询,表达式比较简洁;
(2)简单模式
(3)使用函数
常用的函数有:contains( , )、text(" ") 、starts-with( , )
(4)xpath的轴定位
轴的概念:
一个例子说明:
用xpath轴时应该注意的几个问题:
1. 调用轴,最好用 “ /”
2. 轴后边要加上符号“::”
3. "::" 后边可以接节点名称,也可以接" * "
做自动化测试,避免不了定位页面的元素,定位方式多种多样,如果自己擅长一种定位方式并熟练使用,将对工作非常有帮助;
更多详情请关注公众号“软件测试部落”
史上第一个以“持续集成”方向为主的地址:www.hordehome.com