在做appium测试用例的时候,要获取金额值,用uiautomatorviewer查看该元素,该元素没有特别明显的个性特点,唯一有特点的定位是有content-desc值,但是该值是变动的,所以无法通该元素自身特点来找到该元素。元素如下图:
既然无法通过自身查找元素,发现也无法通过上一级元素定位,后面发现底部的按钮“我的资产(元)”算是这个页面比较有特殊的,并且肯定能定位到的,再查看“我的资产(元)”元素和金额元素是同一个级别的,这样就能通过xpath的兄弟关系找到金额元素,关系如下:
怎样通过兄弟关系找到元素呢,查找xpath语法资料,Element <E1> preceding some sibling <E2> 可以满足需求
依照xpaht语法要求,//E2/preceding-sibling::E1,先找到e2再找e1 定位的是e1
e2定位的是:"//android.view.View[@content-desc=‘我的资产(元)‘]
因为e2 前面只有e1 ,所有定位e1就只要用android.view.View就可以了,最后,能准确找到金额定位方式为:
//android.view.View[@content-desc=‘我的资产(元)‘]/preceding-sibling::android.view.View