uiautomator的入门

uiautomator的入门


前言

  • 大三暑假找了份实习,工作了2个星期,写点东西,这也是我第一次写博客。进去第一天熟悉了git,然后带我的人给了我一个项目,里面都是 uiaotomator 的脚本,主要用来自动化操作手机微信。通过脚本可以自动化使手机按照你的意愿去操作微信,如自动给朋友发微信消息等。第一天就是自己看下脚本,各种脚本测试一下,点一下。

  • 第二天开始就是对应的微信版本的升级,做相应的脚本的升级。因为微信版本变了,控件对应的 resourceId 也会变。所以他先让我对着旧版本的微信,把相应的 resourceId 给改变一下。

  • 之后改完之后就开始写新的脚本,如微信的自动群发等。进而从第一次听说这个 uiautomator 到可以写一些脚本了。


了解

  • 什么是 uiaotomator?

    UI Automator是一个UI测试框架,适用于跨系统和已安装应用程序的跨应用程序功能UI测试。UI Automator测试框架提供了一组API来构建用于在用户应用程序和系统应用程序上执行交互的UI测试。

  • 目前使用到的 uiaotomator API
    UiObject :表示在设备上可见的UI元素。
    • 里面的经常用到的有:
UiObject 的常用方法 作用
.click( ) 顾名思义,就是点击一次本ui元素
. clickAndWaitForNewWindow( ) 该方法的不同之处click()仅在于该方法由于点击而等待新的窗口转换。
.exists( ) 检查视图是否存在
.getChild(UiSelector selector) 为当前UiObject下的子视图创建新的UiObject。
.getClassName( ) 检索classNameUI元素的属性
.getText( ) 读取textUI元素的属性
. isChecked( ) 检查UI元素的checked属性当前是否为true
.setText(String text) 清除字段内容后,在可编辑字段中设置文本

UiScrollable :为在可滚动UI容器中搜索项目提供支持。

UiScrollable的常用方法 作用
.getChildByDescription(UiSelector childPattern, String text) 在当前可滚动页面中按 desc 内容搜索子元素。
. clickAndWaitForNewWindow( ) 该方法的不同之处 click( ) 仅在于该方法由于点击而等待新的窗口转换。
.getChildByText(UiSelector childPattern, String text) 在当前可滚动容器中按 text 内容搜索子元素。
.scrollBackward(int steps) 执行向后滚动,划step页。
.scrollToBeginning(int maxSwipes) 滚动到可滚动布局元素的开头。
.scrollToEnd(int maxSwipes) 滚动到可滚动布局元素的末尾。

UiSelector :表示设备上一个或多个目标UI元素的查询。

UiSelector的常用方法 作用
. checked(boolean val) 设置搜索条件:匹配当前选中的小部件(通常用于复选框)。
. className(String className) 设置搜索条件:匹配窗口部件的类属性(例如,“android.widget.Button”)
. description(String desc) 设置搜索的条件:匹配窗口部件的description属性。
.index(int index) 设置搜索条件:窗口小部件与布局层次结构中的节点索引。
.resourceId(String id) 设置搜索条件:给定的资源ID。 (真-常用)
. scrollable(boolean val) 设置搜索条件:可滚动的小部件。
.text(String text) 设置搜索条件:窗口小部件中显示的可见文本。 (真-常用)

实战

  • 看了以上的api,可以基本的写出一些简单的脚本了,下面我会以我写的微信中群发助手的脚本进行为例进行讲解。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值