随笔 - 383  文章 - 0  评论 - 0  阅读 - 35557 

 

 

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.          使用

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.AlertDialogTest#testAlertDialog

只运行某个用例包中的某个用例

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明就可以节约很多时间

4.          说明

a)          bin/cts是一个脚本,它使用adb来测试,测试程序及测试用例由java语言编写

b)         cts主函数为cts/tools/host/src/com/android/cts/TestHost.java

5.          参考
http://www.kandroid.org/android_pdk/instrumentation_testing.html

posted on   xieyan0811  阅读(37)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示