android的测试工具CTS
android 的测试工具 CTS
#移动开发 #Android
1. 什么是 CTS
兼容性测试,手机设备需要通过 Android 的兼容性测试 (CTS),以确保在
android 上开发的程序在手机设备上都能运行,才能使用
android market
2. 下载及安装
git 下载的源码里包含 cts,位置在 $ANDROID/cts 目录下(android2.1
以后版本) 如果没有也可以从此处下载
git://android.git.kernel.org/platform/cts.git(源码 70M 左右)
编译
_ $ build/envsetup.sh
$ make cts _
此时生成测试计划,测试包,测试用例,和测试报告生成的目录
3. 使用
- 方法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.AlertDialogTest#testAlertDialog _ **
_ 只运行某个用例包中的某个用例 _
- 方法 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 明就可以节约很多时间
4. 说明
bin/cts 是一个脚本,它使用 adb 来测试,测试程序及测试用例由 java 语言编写
cts 主函数为 cts/tools/host/src/com/android/cts/TestHost.java
5. 参考
[http://www.kandroid.org/android_pdk/instrumentation_testing.html
](http://www.kandroid.org/android_pdk/instrumentation_testing.html)