UIAutomator 元素定位是 Android 系统原生支持的定位方式,虽然与 xpath 类似,但比它更好用,并且支持元素全部的属性定位,定位原理是通过 android 自带的android uiautomator 的类库去查找元素

  方法名:find_element_by_android_uiautomator('uiSelector 表达式')

  该方法的参数为 UiSelector 类定位元素的表达式:new UiSelector().函数名称("定位表达式")

  实例化一个 UiSelector 对象,然后通过实例调用对应的方法,每一个方法返回的都是UiSelector 对象本身

  注意:UiSelector 类下面的函数的参数如果是字符串,必须是双引号,这是 Java 的语法风格,在 Java 中,双引号才表示字符串

UiSelector 类的函数如下:

1.资源id方法

  • resourceId(String id)  资源 id
  • resourceIdMatches(String regex)  资源 id 正则

2.文本方法

  • text(String text)  文本匹配
  • textContains(String text)  文本包含
  • textStartsWith(String text)  文本开始字符
  • textMatches(String regex)  文本正则

3.描述方法

  • description(String desc)  描述
  • descriptionContains(String desc)  描述包含
  • descriptionStartsWith(String desc)  描述开始字符
  • descriptionMatches(String regex)  描述正则

4.类名方法

  • childSelector(UiSelector selector)  子类
  • fromParent(UiSelector selector)  父类
  • className(String className)  类名

5.索引、实例方法

  • index(int index)  编号
  • instance(int instance)  索引

6.特有属性方法

  • checked(boolean val)  选择属性
  • checkable(boolean val)  点击属性
  • enabled(boolean val)  enabled 属性
  • focusable(boolean val)  焦点属性
  • longClickable(boolean val)  长按属性
  • scrollable(boolean val)  滚动属性
  • selected(boolean val)  选择属性

7.包名方法

  • packageName(String name)  包名
  • packageNameMatches(String regex)  包名正则

示例:

new UiSelector().text("text")  # 使用元素 text 属性定位
new UiSelector().resourceId("id") # 使用 id 定位
new UiSelector().className("className") # 使用元素类型定位 # 还可以元素多个属性自由组合
new UiSelector().className("className").text("text")
new UiSelector()..resourceId("id").clickable(val)

appium元素定位之AndroidUiAutomator的更多相关文章

  1. 4、通过uiautomatorviewer实现appium元素定位

    熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法: idnameclass nametag namelink textpartial link textxpathc ...

  2. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...

  3. appium元素定位总结

    appium元素定位方法总结 使用uiautomator定位 driver.find_element_by_android_uiautomator(uia_string) 根据resourceId属性 ...

  4. appium元素定位工具

      appium元素定位工具介绍 使用uiautomatorviewer定位工具 使用Appium Inspector定位工具 使用uiautomatorviewer定位工具 谷歌在Android S ...

  5. APP 自动化之appium元素定位(三)

    APP自动化测试关键环节--元素定位,以下我们来了解appium提供的元素定位方法! 1. id定位,id一个控件的唯一标识,由开发人员在项目中指定,如果一个元素有对应的resource-id,我们就 ...

  6. appium 元素定位方法汇总

    以上图为例,要定位到右下角的 我的 ,并点击 # appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_e ...

  7. appium 元素定位工具

    两种元素定位工具: 1.uiautomatorviewer是android-sdk自带的一个元素定位工具,目录D:\androidsdk\androidsdk\tools\bin . 双击启动uiau ...

  8. appium 元素定位与操作:

    一.常用识别元素的工具   uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium I ...

  9. appium===元素定位

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

随机推荐

  1. css修改overflow滚动条默认样式

    html代码 <div class="inner"> <div class="innerbox"> <p style=" ...

  2. 小米开源数据库<pegasus>简介

    数据模型 组合键:Table + HashKey + SortKey Table实现业务数据的隔离 HashKey决定数据在那个分片 SortKey决定数据在分片内的排序 一致性协议 使用Pacifi ...

  3. 解决 Windows Docker 安装 Gitlab Volume 权限问题

    本文首发于我的个人博客,解决 Windows Docker 安装 Gitlab Volume 权限问题 ,欢迎访问! 记录一下 Windows10 下 Docker 安装 Gitlab 的步骤. Ca ...

  4. ReadWriteLock场景应用解析

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  5. 调用高德API,通过输入的地址,如省份、市、区获取经纬度 ,通过输入的经纬度,获取区域详情

    一.pom <?xml version="1.0" encoding="UTF-8"?><projectxmlns="http:// ...

  6. android shape实现阴影或模糊边效果

    1.实现阴影或模糊边效果方式: 2.通过shape来实现,具体是通过layer-list 多层叠放的方式实现的 <?xml version="1.0" encoding=&q ...

  7. Python—类和实例对象

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  8. 28.web8

    file_get_contents()文件包含漏洞,根据题目提示txt?尝试flag.txt payload:  ?ac=flags&fn=flag.txt

  9. Leetcode7 : Reverse Integer 整数反转问题

    问题描述 Example1: x = 123, return 321 Example2: x = -123, return -321 原题链接: https://leetcode.com/proble ...

  10. 中移动物联手机端APP软件

    https://open.iot.10086.cn/doc/book/device-develop/multpro/sdk-doc-tool/APP.html