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

posted @ 2019-12-10 21:40  进步者007  阅读(502)  评论(0编辑  收藏  举报