1. 介绍
CTS(Compatibility Test Suite)测试是Android官方推出的一种兼容性自动化测试框架,目的是为了让开发者设计更高质量及稳定的应用APP,更好的用户体验以及了解应用APP适合的设备种类.测试结果会生成一份测试报告,
测试报告受到Android认可后, 可以登陆Android Market.
2. 准备
首先确保系统安装adb工具.
CTS测试框架来自于Android源码编译,也可以使用android官网提供的编译好的CTS,
方法一:
这里我们使用官网提供的现有CTS框架(source.android.com/compatibility/downloads.html)下选择我们要测试手机系统的对应版本号Android4.4 R3 Compatibility Test Suite-ARM, 下载后解压的文件夹为/home/***/android-cts
手机设置中要确保(否则产生测试failure结果):
1. 处于开发者调试状态
2. 语言设置为英文
3. 开启位置设置
4. 如果有SD卡,确保卡上数据为空.(CTS可能擦除数据)
5. 确保手机连上某一WIFI
6. 取消屏幕锁
7. 允许USB调试
8. 保持唤醒状态
9. 允许模拟位置
10. 设置浏览器初始页面空
11. 运行CTS测试时,不要触摸或按键手机屏幕
12. 确保设备屏幕在home状态
连接手机, 进入android-cts/tools目录下,输入:
./cts-tradefed
如果出现类似
07-25 09:33:54 I/: Detected new device 083beca50c795ef5
cts-tf>
提示符,说明连接手机成功并可以开始测试.
常见错误:
Could not find /home/nietong/git/out/host/linux-x86/cts in Android build environment. Try 'make cts'
在out/host/linux-x86/下未找到cts,如果在android源码根目录下make cts仍未生成该目录,需要手动建目录cts,
并拷贝下载解压后的文件夹android-cts于该目录下.
方法二:
下载Android源码后在源码根目录下输入:
. build/envsetup.sh
make cts
会在out/host/linux-x86/bin/下生成cts文件(此方法待验证,使用我们版本库下载下来的android源码make后貌似没有产生)
3. 测试
输入help后如下:
Run:
run cts --plan test_plan_name: run a test plan
run cts --package/-p : run a CTS test package
run cts --class/-c [--method/-m] : run a specific test class and/ormethod
run cts --continue-session session_ID: run all not executed tests from a previous CTS session
run cts [options] --serial/s device_ID: run CTS on specified device
run cts [options] --shards number_of_shards: shard a CTS run into given number of independent chunks, to run on multiple devices inparallel
run cts --help/--help-all: get more help on running CTS
List:
l/list d/devices: list connected devices and their state
l/list packages: list CTS test packages
l/list p/plans: list CTS test plans
l/list i/invocations: list invocations aka CTS test runs currentlyin progress
l/list c/commands: list commands: aka CTS test run commands currently in the queue waiting to be allocated devices
l/list r/results: list CTS results currently present in the repository
每个plan测试用例包含若干个package, 每个package包含若干class测试类.
可以使用list方法查看可用的测试列表, 如果输入
cts-tf>run cts --plan CTS
会在手机上运行大概2万个测试用例, 持续数个小时.
也可以单独运行一个测试包:
cts-tf>list -packages
查看可用的测试包
cts-tf>run cts -p android.webkit
测试手机单一功能,如果看到
07-25 09:41:34 I/TestInvocation: Starting invocation for 'cts' on build '4.4_r3' on device 083beca50c795ef5
07-25 09:41:34 I/083beca50c795ef5: Created result dir 2014.07.25_09.41.34
说明测试状况正常
测试跑完将在android-cts/repository/results/下生成测试报告文件夹,
并生成testResult.xml报告.
4. 选择性测试
a). CTS Media Files(source.android.com/compatibility/downloads.html
选择CTS Media 1.0下载).
主要内容是多媒体压力测试需要的视频等资源
解压后进入根目录, 输入
chmod 544 copy_media.sh
确保adb可以运行并且手机处于连接状态才可执行以下操作
默认输入
./copy_media.sh
或者
./copy_media.sh 720*480
或者不知道分辨率,采用1920*1080, 所有文件都会被复制拷贝
./copy_media.sh 1920*1080
执行完上述命令后资源将被拷贝到手机目录/mnt/sdcard/test下
然后进行测试 阶段
常见错误:
手机没连接, 输入命令后会出现
error: device not found
b). CTS Verifier(source.android.com/compatibility/downloads.html
选择Android 4.4 R3 CTS Verifier-x86下载解压)
获取CtsVerifier.apk包,并安装
adb install CtsVerifier.apk
确保手机系统时间正确
在手机上点击CTS Verifier程序, 列表展示可以手动选择的测试对象.
测试人员根据每一项描述的标准手动设置验证结果(通过和不通过)