在ui自动化中,与接口自动化中区别最大的是,ui自动化追求的是脚本的稳定性,那么如何保证脚本的稳定性呢?归根到底,就是元素定位的表达式,元素定位表达式稳定了,才能更好的保证ui自动化脚本的稳定性。本片文章主要针对于xpath元素定位表达式
一:绝对不要使用绝对路径的xpath表达式
1-- 面试的时候,面试官问你,怎么样做元素定位的?什么?绝对路径?好了,面试基本凉了
2-- 就算侥幸面试通过,真的需要你在工作中做ui自动化,在元素定位的时候,如果使用了绝对路径的表达式,那么恭喜你
解锁了新技能"前端手一抖,测试改一宿"。另外在工作中,要是遇到了有同事使用绝对路径的元素定位,视情况,可以婉言相劝,毕竟,皆为测试仔,相煎何太急~~
那么,要怎样才能写出较为稳定的元素定位表达式呢?
二:xpath相对路径表达式
既然有绝对路径,就有与之对应的相对路径表达式,接下来讲一下关于xpath相对路径的使用。
1-- 首先,先详细的介绍下xpat元素定位的语法。
//ul[@data-ul-id="convert"]/li//a
先简单分析下,上面的表达式。
1 ,//表示相对于前面的节点,如果//在最开头,则表示于相对于整个html,意思是:相对于整个html页面中,找到标签为ul的元素
2,第二个//表示相对于//ul[@data-ul-id="convert"]这个表达式找到的元素,是有层级关系,一层层找下去的。
3,/表示子节点,必须是直系节点,可以参照九代单传来理解。不在开头的//,则表示所有子孙节点,无须直系亲属,只要是子节点都包含。切记!!!
三:常见的xpath元素定位表达式
1://标签名[@属性名=