霍格沃兹测试开发学社 ceshiren.com
xpath w3c
https://www.w3.org/TR/xpath-functions/
xpath表达式常用用法:
1、逻辑运算符 (not、and 、or等)
2、表达式 (contains、ends_with、starts_with等)
绝对定位: 不推荐
相对定位:
//*
//*[contains(@resource-id, ‘login’)](重点)
//*[@text=‘登录’] (重点)
//*[contains(@resource-id, ‘login’) and contains(@text, ‘登录’)] (重点)
//*[contains(@text, ‘登录’) or contains(@class, ‘EditText’)](了解)
//*[ends-with(@text,'号') ] | //*[starts-with(@text,'姓名') ] 两个定位的集合列表(了解)
//*[@clickable=“true"]//android.widget.TextView[string-length(@text)>0 and string-length(@text)<20](了解)
//*[contains(@text, ‘看点')]/ancestor::*//*[contains(@class, ‘EditText’)] (轴)(了解)
Android 原生定位-Uiautomator
官网:https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html
写法:
’new UiSelector().text(“text")'
iOS 原生定位-PredicateString
例如:name == ‘测试’
appium使用uiautomator底层的机制来分析抓取toast,并且把toast放到控件树里面,但本身并不属于控件。
automationName:uiautomator2
使用xpath查找
//*[@class='android.widget.Toast']
//*[contains(@text, "xxxxx")]
@startmindmap
* HowToDo
** 梳理测试用例
** 构造PO模型
*** 构造页面相关类和方法
*** 实现暂时实际为空
** 编写测试用例
*** 根据业务逻辑编写
*** 链式调用
** 填充具体实现
** 优化用例
*** 封装样板代码
*** 提取页面元素
@endmindmap