Android CTS Test

  什么是CTS测试?了解这个问题前,我们先来搜索了解一遍“Google GMS 认证”。GMS全称为GoogleMobile Service,即谷歌移动服务。说白了GMS其实就是一系列谷歌的应用集合。谷歌GMS认证(Google Mobile Services Test Certification )是谷歌公司为了确保全世界的硬件厂商设计和生产安卓为基础的各种智能硬件产品的兼容性、稳定性,以及这些硬件与安卓各种自带的各种软件APP产品和服务的兼容性、稳定性方面的测试和认证。

  Google GMS 认证需要测试一些啥呢?CTS,GTS,CTSVerifier,AFW.....

  CTS: 英文为 CompatibilityTest Suite,中文意思是兼容性测试,设备需要通过 Android 的兼容性测试(CTS),以确保在 Android 上开发的程序在设备上都能运行。

一、环境搭建

配置环境变量:

JDK 1.8

SDK(目的:adb aapt环境配置)

测试所需资源:(下载被测设备对应版本的CTS套件)

CTS测试包:  Android 6.0 R20 Compatibility Test Suite (CTS) - x86

CTS验证程序: Android 6.0 R20 Verifier

CTS媒体库: CTS Media 1.3

Android 6.0 设备(以android6.0为例)

注:虽然windows下也能进行CTS测试,但是问题会比较多(有些不支持在window下操作)。最好还是在linux或mac下进行测试。

二、测试前准备(android设备设置)

1、设备恢复出厂设置: 设置>备份和重置>恢复出厂设置

2、设备的语言设置为英语(美国): 设置>语言&输入>语言

3、打开位置信息: 设置>位置信息

4、连接WiFi:设置>无线

5、屏幕锁设置为无: 设置>安全设置>屏幕>无

6、确保时间设置12小时格式: 设置>日期&时间

7、打开USB调试: 设置>开发人员选项> USB调试 。

8、选择:设置>开发人员选项>保持亮屏

//9、选择:设置>开发人员选项>允许模拟位置

注意: 这模拟位置设置只适用于Android 5.x和4.4.x。

//10、启动浏览器并关闭任何启动/设置屏幕。

11、使用USB线连接电脑

/* **12、在设备上安装和配置辅助应用程序。

注意: CTS版本2.1 R2通过4.2 R4,设置你的设备(或模拟器)运行的可达性测试:

adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

在设备上 Settings > Accessibility > Accessibility > Delegating Accessibility Service

注意: CTS版本7.0之前,设备上声明 android.software.device_admin 运行,设置你的设备 测试设备管理使用:

adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk

在设置>安全>选择设备管理员,使两个 android.deviceadmin.cts.CtsDeviceAdminReceiver * 设备管理员。

确保 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver 和任何其他预紧装置管理员仍然禁用。*/

13、CTS媒体文件复制到设备中:

注意: 2.3 CTS R12以后 ,如果设备支持视频编解码器,CTS媒体文件必须复制到设备。

三、运行CTS测试

Linux系统下的操作:

下载媒体文件并解压。

1、改变文件权限: chmod u + x copy_media.sh

2、运行 copy_media.sh 复制所有文件,多个设备时 copy_media.sh  - s <specific device>

3、进入android-cts/tools目录,运行脚本cts-tradefed

window下的操作为:

1、解压android-cts-media-1.3

2、将android-cts-media-1.3目录下的bbb_full,bbb_short复制到设备的/sdcard/test/目录下(没有就新建一个test文件夹)

3、解压android-cts-6.0_r20-linux_x86-x86

4、在android-cts-6.0_r20-linux_x86-x86目录下,在android-cts同目录下新建一个run.bat文件

5、将以下代码复制到run.bat文件中。注:最后一行的类,需要到\android-cts\tools\cts-tradefed文件中查看

@echo off
set CTS_ROOT=%~dp0
set JAR_DIR=%CTS_ROOT%android-cts\tools
set JAR_PATH=%JAR_DIR%\cts-tradefed.jar;%JAR_DIR%\tradefed-prebuilt.jar;%JAR_DIR%\hosttestlib.jar
java -cp %JAR_PATH% -DCTS_ROOT=%CTS_ROOT% com.android.cts.tradefed.command.CtsConsole

6.双击运行run.bat文件即可

四、CTS基本命令

**如果把所有CTS测试的case都跑一遍,可以直接输入如下命令

run cts --plan CTS

**如果测试GTS,可以直接输入如下命令

run gts --plan GTS (之前是:run xts --plan XTS)

**如果只测试CTS中的部分case,只需要输入如下命令即可

run cts -p [packgeName] #测试指定包下的所有case

run cts -c [className] -m [methodName]  #单测method一case

分类 命令 说明
Host help 基本命令帮助说明
help all 全部命令帮助说明
exit 退出控制台
Run run cts --plan test_plan_name 运行指定计划
run cts --package/-p 运行指定包
run cts --class/-c [--method/-m] 运行指定方法
run cts --continue-session session_ID 继续运行指定回话ID
run cts [options] --serial/-s device_ID 运行指定设备
run cts [options] --shardsnumber_of_shards 运行多个设备
run cts --help/--help-all 运行帮助
List l/list d/devices 列出连接的设备
l/list packages 列出所有测试包
l/list p/plans 列出所有测试计划
l/list r/results 列出已经保存的结果

五、CTS测试结果

CTS测试的结果在android-cts/repository/results目录下以开始测试时间为名的目录下的testResults.xml文件中。

CTS测试的日志文件在android-cts/repository/logs目录下的zip文件中

可查看android官网:

》》》下载

》》》设置

》》》运行CTS

时间: 07-27

Android CTS Test的相关文章

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

Android5.1上的測试 1.android.security.cts.SELinuxDomainTest# testInitDomain fail 打印的log junit.framework.AssertionFailedError: Expected 1 process in SELinux domain "u:r:init:s0" Found "[ pid: "1" proctitle: "/init" label: &qu

Android CTS 测试总结【转】

最近一直在做Android兼容性测试,根据Android官网给出的android-cts-manual 配置好了device后,开始测试. 首先配置软件环境: 1.下载Android-2.1系统,并编译. $ . build/envsetup.sh          //配置选项,并编译android源码$ make cts                                 //android源码编译好后,在编译cts 2.编译好cts后生成的文件位置如下 #mydroid/out

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

二,监听当前测试项是否是Accelerometer Measurement Test测试项 通过第一种方式介绍的,我们可以得到当前处于活动状态的Activity类似监听CTS测试当前的测试项.但是由于是监听Android系统中所有Activity,因此会大大降低系统的性能,因此这里有一种效率更高的方式来精确定位当前CTS正在测试的测试项,而不会对系统造成很大的影响.(当然不能修改CTS源码,我们需要使用Android提供的原生CTS APK进行验证) 那么我们这里以Accelerometer M

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

前言: 首先这里需要详细叙述一下标题中"监听Android CTS测试项解决方案"的需求.这里的需求是指我们需要精确的监听到当前CTS测试正在测试的测试项. 因为我们知道CTS认证是获得Google推出的 Android 系统中 Android Market 服务的前提.CTS 兼容性测试的主要目的和意义在于使得用户在 Android 系统的应用过程中,有更好的用户体验,并展现出 Android 系统的优越特性:使得 Android 应用程序编写者更容易编写高质量的应用程序:充分展现

Android CTS

1.什么是CTS CTS是google制定的兼容性测试包(Compatibility Test Suite),只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限.其目的是用来规范Android设备开发商防止厂商对Android的改动影响其SDK API的兼容性,确保设备运行的Android系统全面兼容Android规范,即第三方应用程序安装到该厂商的机器上都能正常运行,给用户带来更好的体验.Google还提供了一份兼容性标准文档(Compatibil

求助,Help!!!关于android CTS TV测试的fail问题。。。

============问题描述============ android测试里的测试项基本上都是针对android手机写的,但是我现在做的是android 4.0.3电视的cts测试,测试用例里面很多针对电话.短信.GPS.camera等fail项,这该怎么解决呢???没有没办法让测试时遇到这些电视没有的功能时跳过不测这些case呢??? ============解决方案1============ 把你希望测试的项 添加到 out/host/linux-x86/cts/android-cts/r

Android CTS(兼容性测试)整个流程

为了保证开发的应用在所有兼容Android的设备上正常运行,并保证一致的用户体验,Google制定了CTS(Compatibility Test Suite)来确保设备运行的Android系统全面兼容Android规范,Google也提供了一份兼容性标准文档(Compatibility Definition Document, CDD). 在进行CTS之前,需要先从google官网下载相关文件,需要自卑梯子翻墙.下载链接: http://source.android.com/compatibil

Android CTS测试

一什么是CTS CTS简介:Compatibility Test suite系列兼容测试 google定义了一个兼容性规范(Compatible Definition),而CTS就是为了确保某个测试符合该规范.从而基于Android的应用程序能在基于同一个api版本的设备上面运行.通过CTS测试的device可以获得android的商标,并且享受android market的权限. 例如手机.平板电脑.车载娱乐系统:严格来说需要下载第三方应用的Android系统都要通过CTS测试,才能达到兼容性

Android CTS(frome google)

Compatibility Test Suite How does the CTS work? The Compatibility Test Suite (CTS) is a free, commercial-grade test suite, available for download. The CTS represents the "mechanism" of compatibility. The CTS runs on a desktop machine and execute