UIAutomator API定位元素

Posted ndd2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIAutomator API定位元素相关的知识,希望对你有一定的参考价值。

一、根据class name和text属性  包名不可省略

  code= new UiSelector().text("我的").classname("android.widget.TextView")

  driver.find_element_by_android_uiautomator(code)

  driver.find_elements_by_android_uiautomator(code)

 

二、根据resource id属性  包名不可省略

  new UiSelector().resourceId("com.ibox.calculators:id/account_txt")

三、childSelector  相当于//

  这种方法是在已知父控件的时候如何快速的查找该父控件下面的子控件。

四、instance  index  用于子元素

  index   Set the search criteria to match the widget by its node index in the layout hierarchy.

     设置查询标准根据布局结构中的节点index匹配部件

       多多计算器 ,查询数字元素,查询数字元素每行的第三个元素

       new UiSelector().textMatches("[0-9]").index(2) 结果为3/6/9,结果为每一行的第三个元素

  instance Set the search criteria to match the widget by its instance number

     设置查询标准(条件)根据编号匹配部件

        多多计算器 ,查询数字元素   查询CV的className为TextView的第二个子元素

        new UiSelector().resourceId("com.ibox.calculators:id/cv").childSelector(new UiSelector().className("android.widget.TextView").instance(1))   

 

五、fromParent 根据元素的父元素找到兄弟元素

      多多计算器 ,查询数字3,根据父元素查找数字1 ,两个元素为(非)兄弟元素,即有相同一个父元素  

      new UiSelector().text("3").fromParent(new UiSelector().text("1"))

 

UiSelector的官方帮助文档

https://developer.android.google.cn/topic/libraries/testing-support-library/index.html#UIAutomator

以上是关于UIAutomator API定位元素的主要内容,如果未能解决你的问题,请参考以下文章

uiautomator中id,class都一样怎么定位元素

UIAutomator定位简介

app自动化测试----基础入门appium初使用2(Uiautomator 元素定位)

Appium《元素定位和UiAutomator表达式》

初探UiAutomator2.0中使用Xpath定位元素

安装uiautomator2app定位元素工具---weditor