原文网址: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. hdu4405:概率dp

    题意: 总共有n+1个格子:0-n 初始情况下在 0号格子 每次通过掷骰子确定前进的格子数 此外 还有一些传送门可以瞬间从 u 点传送到 v 点(必须被传送) 求走到(或超过)n点总共需要掷多少次骰子 ...

  2. python3-day5(模块)

    1.获取路径import os,sys #获取全部路径 print(os.path.abspath(__file__)) #获取目录 print(os.path.dirname(os.path.abs ...

  3. log4net 快速上手使用

    *本随笔仅限快速上手,如需深入探究,可查阅其它博友. 一.下载log4net.dll并添加引用; 二.添加配置文件 log4net.xml : <?xml version="1.0&q ...

  4. [WebStrom] Cannot detect file change to trigger webpack re-compile

    Working with editors/IDEs supporting “safe write” Note that many editors support “safe write” featur ...

  5. 如何单独编译Android源代码中的模块

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...

  6. C++11 多线程 教学(2)

      C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等, ...

  7. [转] iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等)

    转自: 在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都 ...

  8. 安装mysql时提示The host 'xxx' could not be looked up with resolveip的解决办法

    1.首先用cat查看/etc/hosts文件,会显示以下内容: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.loca ...

  9. MySQL Replication Error 处理一例

    故障现象 MySQL slave status详情 mysql> show slave status\G *************************** 1. row ********* ...

  10. Javascript高级程序设计读书笔记(第六章)

    第6章  面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...