1, 概述
Uiautomator顾名思义,就是UI自动化测试。主要用于仿真UI界面,包括单击,滑动,输入文本等操作。
主要分为三个子命令, rutest/dump/events
同其他大多数adb命令一样,Uiautomator命令也是shell脚本,system/bin 目录下有一个uiautomator文件脚本。最后三行如下
CLASSPATH=${CLASSPATH}:${jars}
export CLASSPATH
exec app_process ${base}/bin com.android.commands.uiautomator.Launcher ${args}
首先会导入jar包, 然后通过app_process来指定命令工作路径为'/system/bin/'以启动指定类com.android.commands.uiautomator.Launcher,
启动该类传入的参数就是指定的测试用例类. 最后会调用Launcher类中的main方法。
路径: frameworks\base\cmds\uiautomator\cmds\uiautomator\src\com\android\commands\uiautomator
和以前一样,先按照流程走一遍,看看是如何实现的。
2, 匹配Command
Launcher的main方法如下,
public static void main(String[] args) {
// show a meaningful process name in `ps`
Process.setArgV0("uiautomator");
if (args.length >= 1) {
Com