androidcts下载
1. Android GTS 的官方最新测试包下载地址!
你说的应该是CTS吧,Compatibility Test Suite
zuixin的7.0 CTS arm跟x86版本下载地址分别为:
Android 7.0 R4 Compatibility Test Suite (CTS) - ARM
https://dl.google.com/dl/android/cts/android-cts-7.0_r4-linux_x86-arm.zip
Android 7.0 R4 Compatibility Test Suite (CTS) - x86
https://dl.google.com/dl/android/cts/android-cts-7.0_r4-linux_x86-x86.zip
下载需要自备梯子哦
2. android的cts测试到底有多细
1.下载完整的cts测试工具包,方式有两种:
a.在现有代码上编译,代码版本与目标机器版本一致;
b.在Google官网下载:http://source.android.com/compatibility/downloads.html,Compatibility
Test Suite (CTS)即可。
2.下载media测试内容,还是上边的官网,在网页最下边:
CTS Media Files
These media files are required for the CTS media stress tests.
CTS Media 1.0
3.连接手机与电脑(至少一台手机)
4.测试前准备
android-cts/repository/testcases中的.apk和CtsDeviceAdmin.apk
安装完成以上apk后,在手机端操作:
a.设置->辅助程序->Delegating Accessibility Service,打开;
b.设置->安全->设备管理器->CTS相关的两个选项都激活;
c.打开USB调试模式;
d.保持屏幕唤醒;
e.允许模仿位置;
f.切换至英文模式US。
5.进入cts控制台
执行android-cts/tools/cts-tradefed
dev@linux -dev:~/android/CTS/android-cts/tools$ ./cts-tradefed
09-0509:20:52 I/: Detectednew device c8090fe4
09-0509:20:52 I/: Detectednew device5348300e
Android CTS 4.2_r1
我现在连接着两台设备,都检测到了。
6.开始进行CTS测试
首先,在控制台中输入help看这个控制台都能干什么。
cts-tf > help
CTS-tradefed host version 4.2_r1
CTS-tradefed is the test harness for running the Android Compatibility
Suite, built on top of the tradefed framework.
Available commands and options
Host:
help: show this message
help all: show the complete tradefed help
exit: gracefully exit the cts console, waiting till all invocations are
complete
Run:
run cts --plan test_plan_name: run a test plan
run cts --package/-p: run a CTS test package
run cts --class/-c [--method/-m]: run a specific test class
and/ormethod
run cts --continue-session session_ID: run all not executed tests from a
previous CTS session
run cts [options] --serial/s device_ID: run CTS on specified device
run cts [options] --shards number_of_shards: shard a CTS run into given
number of independent chunks, to run on multiple devices inparallel
run cts --help/--help-all: get more help on running CTS
List:
l/list d/devices: list connected devices and their state
l/list packages: list CTS test packages
l/list p/plans: list CTS test plans
l/list i/invocations: list invocations aka CTS test runs currentlyin
progress
l/list c/commands: list commands: aka CTS test run commands currently in
the queue waiting to be allocated devices
l/list r/results: list CTS results currently present in the repository
Add:
add derivedplan --plan plane_name --session/-s session_id-r
[pass/fail/notExecuted/timeout]: derive a plan from the given session
Dump:
d/mp l/logs: mp the tradefed logsfor all running invocations
Options:
--disable-reboot: Do not reboot device after running some amount of
tests.
run cts --plan + 运行某个plan,查看当前支持的plan,运行l
p,实际上所有的plan存放在android-cts/repository/plans;
run cts --package/-p 运行某一个测试包;
run cts --class/-c [--method/-m] 运行某一个测试类或测试方法;
run cts --continue-session session_ID 继续运行之前没有完成的CTS测试,要知道它的session_ID;
run cts [options] --serial/s device_ID 在某个串号的设备上进行CTS测试,对应多个机器的时候,通过adb
devices能够查看当前连接的所有设备的串号;
run cts [options] --shards number_of_shards 在多个设备上同时运行CTS测试,如run cts --plan
CTS --shards 2,在两个设备上同时运行;
run cts --help/--help-all 展示更多帮助
查看列表:
查看行为是l/list,接不同的参数显示对应信息。
d/devices 当前连接的设备,效果同adb devices,不过信息更详细,还有设备电量信息;
packages 当前CTS plan的所有测试包;
p/plan 当前所支持的CTS plan有哪些;
i/invocations 当前CTS的运行状态;
c/commands 展示出用户输入过的命令;
r/results 展示以往的测试结果
Session Pass Fail Not Executed Start time Plan name Device serial(s)
0 17720 239 12 2013.08.24_18.23.23 CTS c8090fe4
1 17907 64 0 2013.09.04_17.51.15 CTS FUSC85YLYPAMRC69
需要特别关注的几点注意事项:
首先,手机的功能一定要完整,WIFI BT 3G CAMERA等;
手机要切换至英文语言;
连接到可用WIFI;
有SIM卡,并能够打电话发短信;
对于屏幕密度,目前CTS中最高支持320,但实际上Google已经添加了对480,也就是1080p的支持;
会检测Fingerprint,注意厂家名;
要保证能够访问到www.google.com;
实战演戏:
连接两台手机后,进入cts控制台:
run cts --plan CTS --shards 2
两台手机上会同时跑起CTS测试,大概5小时候测试完成,生成测试报告,保存在results下。
3. android产品上市必须通过CTS认证测试吗
是的,一定要通过CTS认证测试
Android的CTS测试,英文为Compatibility Test Suite,意为兼容性测试。只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限。以下分享我对Android CTS的认识。
一、取得Compatibility Test Suite的两种方法:
(1)可以从http://source.android.com/compatibility/downloads.html下载最新版本的Compatibility Test Suit;
(2)也可以通过编译Android源代码的方式获得。在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是Compatibility Test Suit。
==========================================
1、Error occurred ring initialization of VM
Could not reserve enough space for object heap
从字面上看是在初始化java Vm的时候不能获取足够的堆空间,于是修改了build/core/definition.mk文件中的编译core.jar和framework.jar时需要的-JXmx为1024m,此参数代表编译上述两个包时需要的最大内存,此初始值为2048M,由于我的PC电脑总的内存才2G,系统运行会占据一部分内存,故编译android的时候肯定不会分配2G内存,
解决:
把build/core/definitions.mk 文件
第1528行:$(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx2048M) \
改成: $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M) \
http://blog.csdn.net/leerobin83/article/details/7873229
==========================================
二、运行CTS的方法,步骤如下:
(1)进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。
(2)进入tools目录,输入./startcts来启动CTS。
(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。
三、CTS测试的方法:
(1)在cts_host>下敲入help,会显示cts下的许多命令。ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。
(3)输入命令start –plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。
(4)对单独一个包进行测试的方法:start –plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/.apk 然后在设置里面的辅助功能中会多一个Delegating Accessibility Service选项,将这个选项勾起。
(2)在android设备设置中:显示->屏幕超时->选取30分钟
(3)在android设备设置中:应用程序->开发->勾选保持唤醒状态。
(4)保证测试前,android设备在主界面状态。
(5)将android设备的语言设置为英文
4. 如何判断 cts android
CTS是什么?
资料:CDD、CTS官网、android-cts-manual-r4;
CTS是什么我就不多费话了,看上面官方的说法就行了。不过有一点需要明确,你的设备只有满足CDD的规定并且通过CTS,才有可能获得Android的商标和享受Android Market的权限。这里有可能指的是需要你自己去向google申请的,不是说兼容了,这些东西就自然而然有了。
怎么用:
资料: android-cts-manual-r4、宋立新_Android CTS测试研究;
安装与配置:
下载或自己编译;修改startcts中SDK_ROOT;在板子或emulator上装一个apk;设置setting;
各种命令的用法:
注意:start --plan –p以及start --plan –t的用法,-t要指定一个具体的测试方法
方法1:一般使用的方法
$ ./startcts 注意如果用手机设备调试,用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
只运行某个用例包中的某个用例
方法2:遇到问题时方便调试的方法
$ adb install out/target/proct/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明就可以节约很多时间
用完后结果的分析:
结果在repository/results中,放在一个文件夹里,名字是你测试开始的时间。
分析的方法有两种:
1、可以直接从Failure Details找原因;(个人感觉应该难度较大)
2、结合源代码以及Failure Details的信息找原因
第二种方法牵扯到找测试源代码的问题,这就要对CTS源码目录以及相应生成物的命名有一定的了解。
了解CTS这个工程:
资料:宋立新同学的Android CTS测试研究二、android build system、CTS源码、makefile以及shell基本知识
了解Linux工程最好的入手点,就是从它的编译系统入手。
这个涉及到Linux的makefile以及android的编译系统的基本知识,具体内容还是挺多的,不过看懂了android编译系统,以后看其他Android工程应该都会得心应手。
在android CTS上增加自己的test package
资料:CTS命令的用法、Erin Yueh的两篇文章
有两种方法:
1、完美利用自带命令(已验证)
2、用Erin Yueh的方法
用这个方法的前提也是要彻底弄懂CTS的内部结构,不然也只能照猫画虎
如何写test case
资料:JUnit、SDK/docs下面的五篇文章、android open source官网/porting/Instrumentation Testing
这又是另外一门学问了
这个test case 可以涉及各个层次,Android 平台相关的测试的写法可以参考官方的那五篇文章,如何运行可参考上面资料三,其他的可能会涉及到JUnit以及其他一些知识,目前还没实地考察。
接下来要弄明白的
1、android的编译系统(学习下makefile以及shell基本知识)
2、CTS这个工程(看看测试包XML生成器的假设成不成立,能不能提取出来)
3、众多层次test case 的写法
5. 如何进行android兼容性测试cts
二、运行CTS的方法,步骤如下:
(1)进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。
(2)进入tools目录,输入./startcts来启动CTS。
(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。
三、CTS测试的方法:
(1)在cts_host>下敲入help,会显示cts下的许多命令。ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。
(3)输入命令start –plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。
(4)对单独一个包进行测试的方法:start –plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/.apk 然后在设置里面
6. windows下CTS测试android.cts.security.SELinuxHostTest-- testAllEnforcing fail
虽然问题有点老了,还是给后来的人提个醒吧:
错误的原因很简单,这个用例的运行脚本是基于linux系统的。
CTS测试官方推荐的平台是linux,虽然把运行脚本改成bat之后可以在windows下面运行大部分用例,但是selinux相关的部分是无法运行的,所以问题的解决答案是:
搭个linux虚拟机运行上述部分用例
7. android cts如何到另一台电脑继续测试
Android 4.0 CTS 测试方法
这段时间公司做CTS测试,下面是一些总结,以android4.0.3为例,希望对大家有所帮助!
一 CTS测试简介
The Android compatibility program makes it easy for mobile device manufacturers to develop compatible Android devices
CTS具体的介绍,大家可以参考google的官方网站,大家可以详细的了解CTS测试的目的和环境,我们一般的疑惑都能在该网站上找到答案。
1.1为什么需要兼容性测试(以下称CTS)?
1.1.1、让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。
1.1.2、让开发者设计更高质量的APP。
1.1.3、通过CTS的设备可以运行Android market。
1.2怎么样才能让我的设备变成兼容的。
1.2.1、与Android Compatibility Definition文档(以下简称ACD)匹配
先看一下与你的系统版本相匹配的ACD,文档中描述了你需要具备的软件和硬件参数。
1.2.2、通过CTS测试
CTS是开源的测试框架,使用它来测试你的设备是否具备兼容性。
1.2.3、提交报告
你可以把测试结果发送给[email protected]。当你提交了一个CTS报告时,你还可以要求访问Android Market。
如果是google的合作伙伴,需要将CTS测试报告、机器、以及软件一共寄给google进行测试,取得google的approval以后,手机才能上市,这是后话,相信好多人都是用不到的。
1.3 CTS测试原理
CTS主要包含两个组件:
运行在PC上的测试框架组件。主要用来管理测试用例(test case)的执行。
运行在设备或模拟器上的测试用例。这些用例用JAVA写成的APK文件。
1.4工作流程
1)可以从源码编译CTS,也可以从网站下载编译好的CTS
2)安装配置CTS。
3)把设备连接到PC上。
4)运行CTS。CTS会把相应的测试用例(也就是一个APK文件)传送到设备上并通过instrumentation运行,然后记录运行结果,最后删除测试用例。
所有的测试用例执行完毕后,可以参照测试结果重新调整或优化系统。然后继续运行CTS测试。
1.5、测试通过以后,你可以把CTS生成的结果(就是result下面那个以测一、取得Compatibility Test Suite的两种方法:
(1)可以从 下载最新版本的Compatibility Test Suit;
(2)也可以通过编译Android源代码的方式获得。在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是Compatibility Test Suit。
注意:但是源码中的代码可能不是最新的,所以建议冲网站上下载最新的,需要用git在google的网站上下载,网上有好多例子,这里就不再重复了。
二 测试用例的范围
1、Signature
对每个Android产品,都有一些XML文件来描述所有的公开API。CTS包含了一个工具来检测这些API签名中包含的API是否都在系统中被支持。
2、Platform
测试SDK文档中描述的平台API,比如core libraries,Android Application Framework等。要求这些API可以提供:
正确的类、属性、方法签名、方法行为、错误参数处理方式
3、Dalvik VM
专门针对Dalvik Vm的测试。
4、Platform Data Model
平台通过ContentProvider提供给开发者使用的数据,比如:Contacts,Browser,Settings等。
5、Platform Intents
平台提供的用于核心功能的Intent。
6、Platform permission
平台提供的一些重要APP权限
7、Platform Resources
simple values,drawables,nine-patch,animations,layouts,styles and themes,loading alternate resources等
三 如何搭配环境
目前cts没有提供windows版本,只能在Linux下测试。
1 PC机配置环境
PC端网上有好多资料可以供参考,这里就省略了。
2 手机设置
1) 进入settings->Privacy->Factorydata reset,对平台进行reset一次
2) 平台插入一张空的TF卡
3) 平台安装两个APK:.apk,CtsDeviceAdmin.apk
4) 进入settings打开Wi-Fi并连接AP (AP需要连外网)
5) 进入settings->Security->Screenlock设为None
6) 进入settings->Security->EnableUnknown sources
7) 进入settings->Security->Deviceadministrators->Enable两个选项
8) 进入Language&input->language设为English(UnitedStates)
9) 进入settings->Display->Sleep设为30minutes或None
10) 进入settings->Accessibility->EnableDelegating Accessibility Service
11) 进入settings->Developeroptions->Enable USB debugging、Stay awake、Allowmock locations
12) PC上“android-cts-media-1.0”,在android-cts-media-1.0文件下输入./__media.sh运行脚本,将media文件进平台。成功后会在平台的内存中看到test文件夹。(此条适用于CTS4.0 R2和R3,R1上无需使用)
四 测试方法
1.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debug icon)
2.打开终端
3.输入sudosu -
输入root密码
4.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools (这个是cts-tradefed文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
5.输入run cts --plan CTS
终端显示 cts-tf > run cts --plan CTS
cts-tf> 01-16 15:45:34 I/TestInvocation: Starting invocation for 'cts' on build'4.0.3_r1' on device 0123456789ABCDEF
01-16 15:45:35I/0123456789ABCDEF: Created result dir 2012.01.16_15.45.34
开始测试CTS
五 关于CTS4.0测试报告
1.CTS测试报告是自动生成一个xml报表,并自动填写的,不需要测试人员干预
2.当一个CTS测试任务开始时,会在android-cts-4.0.3_r1-linux_x86-arm/android-cts/repository/results中,为这个任务建立一个存放测试报告的文件夹,文件名以任务开始的日期和时间命名。
例如:2012.01.12_13.00.03
3.CTS4.0生成测试报告的速度比CTS2.3/2.2要慢不少,特别是在测试过程中中断测试,CTS4.0需要70秒才会开始生成报告。如果你在此过程中按ctrl+c终止CTS进程,测试报告就无法生成,以后也无法继续测试未完成的计划。
下方是中途断开后生成报告的例子:
01-1813:50:19I/0123456789ABCDEF: android.accounts.cts.AccountManagerTest#testHasFeature FAIL
Testfailed to run to completion. Reason: 'Test run failed to complete. Expected 1tests, received 0'. Check device logcat for details
01-1813:51:29I/0123456789ABCDEF: android.accounts package complete: Passed 20, Failed 2, NotExecuted 6
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:29 I/0123456789ABCDEF: Test package android.admin started
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
……
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Test package android.widget started
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Saved log device_logcat_8558243668624894128.zip
01-1813:51:30 I/0123456789ABCDEF: Saved log host_log_6087775957743010530.zip
8. Android认证包括什么android认证只包括GMS认证吗
GMS综述
GMS认证,一般要求我们提供CTS, XTS, Verify三份测试报告,如下图:
4 Fail项的处理
给高通提case,给MTK提eservice,因为这个一般自己能解的比较少,主要还是要靠高通和MTK来解。 慢慢积累自己的fail项库 慢慢积累自己处理fail项的能力