1.什么是CTS

CTS是google制定的兼容性测试包(Compatibility Test Suite),只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限。其目的是用来规范Android设备开发商防止厂商对Android的改动影响其SDK API的兼容性,确保设备运行的Android系统全面兼容Android规范,即第三方应用程序安装到该厂商的机器上都能正常运行,给用户带来更好的体验。Google还提供了一份兼容性标准文档(Compatibility Definition Document, CDD)来作为参考。CTS会自动化运行同时也会测试硬件(比如蓝牙,WIFI),跑完之后会出一份详细的报告,告诉你哪些地方没通过。我们实际使用CTS的过程中,很可能需要根据特定的要求,来定制自己的TestPlan。这时就需要自己编译CTS。

2.获取CTS包

我们有两种方式可以获取CTS包。

(1)从源码编译:

在Android系统源代码目录下运行 make cts 即可以得到CTS包,生成文件在out/host/linux-x86/cts/android-cts/ 目录下

(2)从google官方下载编译好了的CTS包:

下载地址为:http://source.Android.com/compatibility/downloads.html。

其中testcases中为测试用例,主要是一些APK,tools目录下为主机工具

3. 使用CTS

(1)运行CTS脚本

脚本位于android-cts/tools/下,cd进入此目录,然后执行脚本

./cts-tradefed 

(2)执行CTS测试

CTS的case位于:Android_Source_Code/cts/tests/tests/。注意,测试CTS的时候,设备不能处于休眠状态,可以在:设置 ⇒ 开发 ⇒ 将保持唤醒状态勾中,这样在USB连接状态下,设备不会处于休眠状态。

1.执行整个CTS测试:run cts –plan CTS。花费较多时间,建议晚上测试。

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

run cts -p android.view.cts

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

run cts -c android.view.cts.WindowTest

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

run cts -c android.view.cts.WindowTest -m testDecorView

5.查看帮助:

run cts –help

4.查看测试报告及log

CTS测试开始时,系统会在android-cts/repository/results下,以测试开始的日期和时间命名,生成一个文件夹。测试完成后,系统会在该文件夹下,生成一个xml格式的测试报告,供开发人员查看。

log的保存与result一样,也是以测试开始的日期和时间命名,保存在android-cts/repository/logs下。

参考资料:

http://blog.csdn.net/yunnywu/article/details/7978877

Android CTS的更多相关文章

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

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

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

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

  3. 如何debug android cts

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

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

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

  5. android CTS测试

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

  6. Android CTS 测试总结【转】

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

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

  8. Android CTS Test

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

  9. Android CTS Test failed to run to conmpletion 测试超时问题

    引用“Android cts all pass 全攻略”里面的一段话: ❀ testcase timeout 测试某个testcase的时候一直出现 “........”,迟迟没有pass或者fail ...

  10. android CTS 介绍

    [转]http://blog.csdn.net/pugongying1988/article/details/6976091 一.为什么需要兼容性测试(以下称CTS)? 1.1.让APP提供更好的用户 ...

随机推荐

  1. windows下如何查看端口占用

    1.查看端口使用情况netstat -aon(以3306为例) 2.根据3306端口号查看对应的进程号(进程号就是进程的唯一标识,根据这个进程号就能找到对应的应用) 3.根据进程号查询相应的应用占用端 ...

  2. tensorflow笔记:流程,概念和简单代码注释

    tensorflow是google在2015年开源的深度学习框架,可以很方便的检验算法效果.这两天看了看官方的tutorial,极客学院的文档,以及综合tensorflow的源码,把自己的心得整理了一 ...

  3. 三张图较为好理解JavaScript的原型对象与原型链

    最近从网上看到别人详细得讲解了js的原型对象和原型链,看完感觉是看得最清晰的一个,于是,摘录到自己博客里 对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与_ ...

  4. [原创]Java动态填充word文档并上传到服务器

    一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是 ...

  5. Android EditText输入光标居于开头最开始位置

    如果欲使EditText加载后的输入光标自动处于最开始处,可以通过设置EditText的android:gravity实现,设置android:gravity为left或者start即可,可以设置: ...

  6. hdoj-1276-士兵队列训练问题(队列模拟)

    题意: 新兵蛋子按照两种报数规则报数: 1.1212报数,2出队 2.123123报数,3出队 没报完一轮,检查人数,不大于3,over 略坑,必须每报完一轮检查人数,最初,按照12两种顺序报完检查人 ...

  7. grunt-2x2x

    a grunt plugin to resize and rename @2x.png(jpg,gif,) image to .png(jpg,gif) 场景:移动前端开发中,设计给的psd都是双倍图 ...

  8. 自动部署基于Maven的war文件到远程Tomcat

    转载自:https://www.cnblogs.com/jtlgb/p/7018705.html Tomcat 7发布URL = http://localhost:8080/manager/text命 ...

  9. list的内存分配机制分析

    该程序演示了list在内存分配时候的问题.里面的备注信息是我的想法. /* 功能说明: list的内存分配机制分析. 代码说明: list所管理的内存地址可以是不连续的.程序在不断的push_back ...

  10. string类的常用功能演示

    这个程序可用随着我对string的用法的增多而有调整. /* 功能说明: string类的常用功能演示. 实现方式: 主要是演示string的常用函数的用法和它与字符数组的区别与联系 限制条件或者存在 ...