UI自动化测试元素有效定位

UI自动化测试元素定位

CSS ID选择器查找元素

注意事项
  1. 如果元素的ID不唯一,或者是动态的
  2. 或者name以及linkText属性值也不唯一
  3. 我们就需要考虑用xpath来查找元素了,然后对元素操作执行
  4. 不管用什么方式查找元素,id,name,xpath,css等等
  5. 都需要在页面上查找到唯一的元素
  6. 除非相差查找一批元素放到集合里,然后操作集合
语法格式
  1. tag[attribute=’value’]----a[id=’js-signin-btn’]
  2. “#”---->Id---->a#js-signin-btn —简写方式
  3. “.”---->Class-----> a.snam,span.icon-shopping-card
  4. span[class=’icon-shopping-card’]
  5. 追加类方式—.class.class1.class2
CSS选择器-通配符
在css选择器中使用通配符
  1. “^”—代表以什么文本开始
  2. “$”—代表以什么文本结尾
  3. “*”—代表包含什么文本
语法格式
  • tag[attribute=’value’]—specialcharacter:通配符
示例
  1. span[class^=’name’]—class以name开头的span标签
  2. span[class*=’name’]—class包含name的span标签
  3. span[class$=’name’]—class以name结尾的span标签
  4. 以上举例使用的是class属性,其他的属性均适用
CSS选择器-子节点
示例
  1. li>#js-signin-btn div>.search-input
    —>1个匹配的节点–li下class为js-signin-btn标签下的div下class为search-input标签节点
  2. div>h1 div>label —>1个匹配的节点
  3. ul>li>.search-input —>1个匹配的节点

XPATH元素定位

语法格式
  • **//tag[@attribute=’value’]
  • 绝对路径–/,相对路径—//
  • “/”—元素是上一级的子节点中的一个,不能跳级
  • “//”—下一级任何子节点或者任何嵌套子节点中的一个,可以跳级
  • 路径里面不要使用“*”,要写明标签名
  • 使用text属性构建有效的Xpath
  • //a[text()=’登录’]—文本=登录的a标签【文本必须完全匹配】**
使用contains关键字构建有效的Xpath
语法格式
  • //a[contains(text(), ’忘记密码’)]—文本包含忘记密码的a标签
  • //a[contains(@class, ’forget’)]—class包含forget的a标签
  • //input[contains(@class, ’inp’) and contains(@placeholder,‘手机号’)]—class包含forget和placeholder属性包含手机号的a标签
使用startwith关键字构建有效xpath
语法格式
  1. Startwith(@attribute, ‘text’)
  2. //a[startwith(text(), ’忘记密码’)]—文本以忘记密码开始的a标签
  3. //a[startwith(@class, ’forget’)]—className以 forget开头的a标签

父节点和兄弟节点

父节点语法格式
  • xpath-to-some-element//parent::
兄弟节点语法格式
  1. xpath-to-some-element//preceding-sibling::【找前面的兄弟节点】
  2. xpath-to-some-element//following-sibling::【找后面的兄弟节点】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值