编译CTS
. ./build/envsetup.sh
make cts
在DEVICE运行CTS:
1、安装CtsDelegatingAccessibilityService.apk
2、手机设置 Settings->Accessibility->两个选项都选上;
Settings > Application > Development 三个选项都选上;
Settings > Sound & Display > Screen Timeout should be set to "Never Timeout";
3、进入 android/out/host/linux-x86/cts /android-cts/repository/tools 运行./startct脚本
4、出现如下提示符表示启动cts并连接设备成功
Android CTS version 2.1_r2
Device(CB511KADGR) connected
cts_host > cts_host >
5、在“cts_host >”提示符下输入命令,以下为几个常用的命令
help 查看所有命令
exit 退出
ls -p 列出所有的测试包
ls --plan 列出所有的测试方案
start --plan plan_name 运行一个测试方案,如:start --plan CTS
start --plan plan_name --package package_name 运行一个特定的测试包,如:start --plan CTS --package android.bluetooth
a)方法1:一般使用的方法
$ cts 注意如果用手机设备调试,用root权限执行
cts_host > ls --plan 列出所有plan
out/host/linux-x86/cts/android-cts/repository/plans中有plan的具体内容
cts_host > start --plan VM 运行某个plan
测试结果在out/host/linux-x86/cts/android-cts/repository/results目录下,用浏览器看时间目录下的xml文件即可
注意在改动cts后,还要make cts重新编译,若只在cts目录中编译不能生效
cts_host > ls -p 看当前可用的用例包
cts_host > start --plan Android -p android.app 只运行某个用例包,节约时间
cts_host > start --plan Android -p android.app -t android.app.cts.DialogTest#testOnWindowFocusChanged
只运行某个用例包中的某个用例
b)方法2:遇到问题时方便调试的方法
$ adb install out/target/product/xxxx/data/app/SginatureTest.apk 安装某个用例包
$ adb shell pm list instrumentation pm用于管理package,看当前机器安装了什么用例
$ adb shell am instrument -w android.tests.sigtest/.InstrumentationRunner am用于管理activity 运行某一用例
$ adb shell am instrument -e class android.app.cts.AlertDialogTest#testAlertDialog -w com.android.cts.app/android.test/InstrumentationCtsTestRunner 单独运行一个小case
如果在一个时间很长的plan(如Android)中,某处错了,而错误信息又不全,需要单独跑一个小case,用-e指明class明就可以节约很多时间