原文网址:http://blog.csdn.net/shi_xin/article/details/42262675

1.CTS下载

打开下面网址,

http://source.android.com/compatibility/downloads.html

以android5.0为例,进入页面后,点击Android 5.0 R1 Compatibility Test Suite (CTS) - ARM进行下载;

当然,如果打不开上面的网址,就是网络没有FQ,进行网络FQ后,就可以打开网页了。

我的配置方式:修改浏览器的代理,将自动配置代理URL设置为:http://10.5.2.98/proxy.pac

2.JDK配置

android5.0需要的PC jdk环境为jdk1.7,并切换jdk为1.7

android不同版本对应不同版本的jdk,在网上查一下,对应修改下pc的jdk版本;

3.链接手机

链接手机,开启usb调试 ,确认电脑已经链接上了手机

终端运行adb devices,确认下是否链接好手机。

4.运行CTS

解压下载文件Android 5.0 R1 Compatibility Test Suite (CTS) - ARM,

进入android-cts/tools/,执行cts-tradefed脚本文件。

5.设置手机

1.语言设置为English;

2.测试CTS的时候,设备不能处于休眠状态,进入security选项,将屏幕锁定设置为none

可能不一样,总之是要将锁屏取消;

3.开启GPS;

4.连接一个可FQWifi网络;

5.开启USB调试,勾选Stay awake,Allow mock locations;

6.安装CtsDeviceAdmin.apk后勾选Device administrators的前两项;

其中,CtsDeviceAdmin.apk位于下载的cts解压包目录下;

android-cts/repository/testcases下。

=================================================================================

到此,基本配置完成,如果是开发人员,一般不需要跑所有的case,只需要跑自己的case就ok。

若跑所有的case,则在4步骤操作完后,弹出的终端上输入

run cts --plan CTS。

对于开发人员跑特定的case:

A。run cts -p <包名>。参数-p是指测试的是一个package。例如要测试android.view.cts包下的所有case,执行命令:

run cts -p android.view.cts

B。测试一个类:run cts -c <类名>。类名前需要加上包的名字,参数-c是指测试的是一个class。例如要测试android.media.cts包下的AudioTrackTest类,执行命令:

run cts -c android.media.cts.AudioTrackTest

C。测试一个类中的case:run cts -c <类名> -m <case名>。case名是指类下的method名,参数-m是指测试的是一个method。接上例,要测试android.media.cts包下的AudioTrackTes类中的方法testPlayStreamData,执行命令:

run cts -c android.media.cts.AudioTrackTest -m testPlayStreamData

D。若需要循环测试某一个case;则加入loop

run cts –c android.media.cts.AudioTrackTest –m testPlayStreamData --loop --min-loop-time 60000
 
60000表示每次循环的的间隔时间,单位为ms;
若是

run cts –c android.media.cts.AudioTrackTest –m testPlayStreamData --loop
则默认是十分钟循环做一次。

2.查看结果

测试完成以后,会在下面的目录下,生成测试结果。是一个文件夹,以测试开始的日期和时间命名。

android-cts/repository/results/

打开相应的文件夹以后,例如android-cts/repository/results/2014.12.30_10.44.20,里面有testResult.xml文件,

以网页的形式打开这个文件,就可以看到结果了。我这个是测试单条case的结果。

          Show Device Information

Test Summary
CTS version 5.0_r1
Test timeout 600000 ms
Host Info ubtpc (Linux - 3.2.0-23-generic)
Plan name NA
Start time 星期二 十二月 30 10:35:33 CST 2014
End time 星期二 十二月 30 10:41:12 CST 2014
Tests Passed 1
Tests Failed 0
Tests Timed out 0
Tests Not Executed 0

Test Summary by Package

Test Package Passed Failed Timed Out Not Executed Total Tests
android.media 1 0 0 0 1

Detailed Test Report

Compatibility Test Package: android.media ABI: armeabi-v7a
Test Result Details
android.media.cts.AudioTrackTest
-- testPlayStreamData
pass
 
           

若执行某一个case的时候,在上面4步骤后弹出的终端上也可一看到是否成功的结果。

【转】android cts测试方法及步骤的更多相关文章

  1. Android CTS測试Fail项改动总结(四)

    Android5.1上的測试 1.android.security.cts.SELinuxDomainTest# testInitDomain fail 打印的log junit.framework. ...

  2. android CTS测试

    CTS认证是获得Google推出的Android系统中Android Market服务的前提 CTS兼容性测试的主要目的和意义在于使得用户在Android系统的应用过程中,有更好的用户体验,并展现出A ...

  3. Unity中加入Android项目的Build步骤

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 简介: 有的项目需要在Android中加入Unity功能,例如ANDROID应用中嵌入Un ...

  4. 监听Android CTS测试项解决方案(二)

    二,监听当前测试项是否是Accelerometer Measurement Test测试项 通过第一种方式介绍的,我们可以得到当前处于活动状态的Activity类似监听CTS测试当前的测试项.但是由于 ...

  5. 监听Android CTS测试项解决方案(一)

    前言: 首先这里需要详细叙述一下标题中"监听Android CTS测试项解决方案"的需求.这里的需求是指我们需要精确的监听到当前CTS测试正在测试的测试项. 因为我们知道CTS认证 ...

  6. 如何debug android cts

    启动和关闭ADB服务(adb start-server和adbkill-server) 经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可以找到这个服务,该服务用来为模拟器 ...

  7. Android CTS 测试总结【转】

    Android CTS 测试总结[转] 最近一直在做Android兼容性测试,根据Android官网给出的android-cts-manual 配置好了device后,开始测试. 首先配置软件环境: ...

  8. Android N和O中使用adb shell dpm set-device-owner 'com.android.cts.verifier/com.android.cts.verifier.managedprovisioning.DeviceAdminTestReceiver' setup Device Owner失败

    PC端出现如下log: D:\workspace\AndroidO\CTS\CTS_Verifier>adb shell dpm set-device-owner 'com.android.ct ...

  9. Android CTS Test

    什么是CTS测试?了解这个问题前,我们先来搜索了解一遍“Google GMS 认证”.GMS全称为GoogleMobile Service,即谷歌移动服务.说白了GMS其实就是一系列谷歌的应用集合.谷 ...

随机推荐

  1. 虚拟机最佳实践:单个 VM、临时存储和已上传磁盘

    大家好! 我是 Drew McDaniel,来自 Microsoft Azure虚拟机功能研发团队,我从团队成立之初就已加入. 在本博客文章中,我将分享一些最佳实践指南,帮助您充分利用您的Azure虚 ...

  2. .net中除去IList中的多余项

    IList<ActionInfo> tempList = new List<ActionInfo>(); IList<ActionInfo> tempActionL ...

  3. hdu2460-Network:边的双连通分量

    题目大意:给出一个无向图以及Q次询问,每次询问增加一条无向边,要求输出增加这条边后剩余的桥的数目. 算法:类似于求割点的方法,先做一次dfs求出所有的桥,并且维护这棵dfs树,当一次询问加入一条边(a ...

  4. 关于Java集合的总结

    (一)List: ArrayList 以数组实现.节约空间,但数组有容量限制.超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值.默认第一 ...

  5. puppet cert maintain

  6. 深入理解linux网络技术内幕读书笔记(二)--关键数据结构

    Table of Contents 1 套接字缓冲区: sk_buff结构 1.1 网络选项及内核结构 1.2 结构说明及操作函数 2 net_device结构 2.1 MTU 2.2 结构说明及操作 ...

  7. CSS的基本认识

    1.定义: 级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的. 2.对CSS的基本认识: CSS是 ...

  8. MySql 查询表字段数

    MySql 查询表字段数 SELECT COUNT(*) FROM information_schema.columns WHERE table_schema='test_cases' AND tab ...

  9. Controller返回值类型ActionResult

    在mvc中所有的controller类都必须使用"Controller"后缀来命名 并且对Action也有一定的要求: 必须是一个public方法 必须是实例方法 没有标志NonA ...

  10. Qt串口通信

    1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开 ...