软件测试 / 测试开发丨 App 自动化测试高级定位技巧
获取更多相关知识
本文为霍格沃兹测试开发学社学员学习笔记分享,文末附原文链接
高阶定位-Xpath
包含-contains()
Xpath 表达式中的一个函数
contains()函数匹配==属性值==中包含的==字符串==
contains() 函数定位的元素很容易为 list
contains() 函数内的属性名需要用 @开始
XPath 轴
父子当前节点的父节点 //*[@text="HK"]/.. //*[@text="HK"]/parent::*当前节点的儿子节点 //*[@resource-id="com.xueqiu.android:id/stock_layout"]/child::*
爷孙当前节点的父级的父级 //*[@text="HK"]/../.. //*[@text="HK"]/parent::*/parent::*当前节点的儿子的儿子 //*[@resource-id="com.xueqiu.android:id/stock_layout"]/child::*/child::*
祖先返回当前节点的所有祖先 //*[@text="HK"]/ancestor::android.widget.RelativeLayout 显式指定要返回的祖先 //*[@text="HK"]/ancestor::android.widget.RelativeLayout[1] RelativeLayout[1] 1 是距离最近的一个,数值越大离得越远,1 是父节点,2 是爷爷节点。。。
兄弟姐妹节点后的兄弟姐妹节点 following-sibling 选择当前节点之后的所有兄弟节点 节点后有一个兄弟节点 //*[@text="HK"]/following-sibling::* 节点后有多个兄弟节点 //*[@resource-id="com.xueqiu.android:id/stock_layout"]/following-sibling::*[@resource-id="com.xueqiu.android:id/price_layout"]节点前的兄弟姐妹节点 preceding-sibling 选择当前节点之前的所有兄弟节点 节点前有一个兄弟节点 //*[@text="09988"]/preceding-sibling::* 节点前有多个兄弟节点 //*[@resource-id="com.xueqiu.android:id/add_attention"]/preceding-sibling::*[@resource-id="com.xueqiu.android:id/price_layout"]
XPath 运算符
AND
可以在 XPath 表达式中放置 2 个条件
在 AND 两个条件都应该为真的情况下,才能找到元素
OR
可以在 XPath 表达式中放置 2 个条件
在 OR 的情况下,两个条件中的任何一个为真,就可找到元素。
OR 定位获取的是并集
高阶定位-CSS
css selector 定位介绍
官网说明
Android: Appium Server 版本 >= 1.19.0
css selector will be converted to -android uiautomator selector in UIAutomator2.
iOS:Appium Server>= 1.21.0 css selector selector will be converted to -ios class chain selector
css selector 用法
官方示例
示例
打开【雪球】应用首页
点击搜索框
向搜索框输入:alibaba
判断【阿里巴巴】可见
iOS css selector 定位
Appium Server 版本>=1.21.0
Toast 识别
Toast 是什么
一种消息框类型
永远不会获得焦点 无法被点击
Toast 显示的时间有限,Toast 会根据用户设置的显示时间后自动消失
是系统级别的控件,属于系统 settings
Toast 类的思想: 就是尽可能不引人注意,同时还向用户显示信息,希望他们看到
Toast 定位
appium 用的是 uiautomator 底层来抓取 toast,
再把 toast 放到控件树内,但是它本身不属于空间
使用的是 uiautomator2
Toast 定位
xpath 可以找到 //[@class="android.widget.Toast"]//[contains(@text,"xxx")] xxx:toast 的文本内容
原文链接:Python 测开27期 - julia - 学习笔记 - APP自动化高级定位技巧 - 学习笔记 - 测试人社区
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/11a23144d5a0fc26049971a28】。文章转载请联系作者。
评论