Andriod CTS测试环境搭建

一、为什么需要兼容性测试(以下称CTS)?
1.1、让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。
1.2、让开发者设计更高质量的APP。
1.3、通过CTS的设备可以运行Android market。
另外,CTS是免费的,而且很简单。
二.CTS是开源的测试框架,使用它来测试你的设备是否具备兼容性。CTS主要包含两个组件:
运行在PC上的测试框架组件。主要用来管理测试用例(test case)的执行。
运行在设备或模拟器上的测试用例。这些用例用Java写成的APK文件。
三、工作流程
1、可以从源码编译CTS,也可以从网站下载编译好的CTS
2、安装配置CTS。
3、把设备连接到PC上。
4、运行CTS。CTS会把相应的测试用例(也就是一个APK文件)传送到设备上并通过instrumentation运行,然后记录运行结果,最后删除测试用例。
所有的测试用例执行完毕后,可以参照测试结果重新调整或优化系统。然后继续运行CTS测试。
5、测试通过以后,你可以把CTS生成的结果(就是result下面那个以测试时间命名的.zip文件)提交给[email protected]
四、目前的测试覆盖面
目前,为了确保兼容,测试用例覆盖了下面的这些范围
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平台)
一 、工具/原料
Android SDK :android_sdk_windows
Java开发工具包:jdk
手机驱动:usb_driver
Cts : android-cts-4.2_r4-linux_x86-arm.zip cts 测试使用的所有APK
CTS media:android-cts-media-1.0.zip 进行CTS进行多媒体压力测试使用的视频资源
CTS verifier APK : android-cts-verifier-4.1_r6-linux_x86-arm.zip

二、方法/步骤
1、安装JDK及java环境变量:
1)安装jdk:
双击解压CTS_JDK_SDK 双击CTS_JDK_SDK\jdk jdk-7u3-windows-i586.exe默认安装即可。
2)配置java 环境变量:
JAVA_HOME C:\Program Files\Java\jdk1.7.0_03

CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

ADB配置:
将Android SDK包中tools目录下的 adb.exe 和 AdbWinApi.dll 复制到 Windows下的 system32 目录下。
连接手机输入adb shell 即可登录到你的手机里。

2、CTS 环境配置:
将CTS_JDK_SDK包解压后的 android_sdk_windows 、cts 拷贝至D或者C盘 这里我以拷贝到D盘目录为例:
1> 配置SDK变量目录 :
右击“我的电脑”,点击“属性”——>”高级”——>“环境变量”——“系统变量”添加 SDK_ROOT 变量:变量名:SDK_ROOT 变量值:D:\android_sdk_windows
(2).手机开启调试模式,连接电脑并安装好驱动,使用
adb install android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
然后在setting->Accessibility中会多一个Delegating Accessibility Service选项,将这个选项设置为On。
adb install android-cts/repository/testcases/CtsDeviceadmin.apk
adb install CtsVerifier.apk
在setting->security->device administrators下多出三个选项,将这三个选项勾选上并激活
将SD卡清空。在SD卡中新建目录test, 将android-cts-media-1.0.zip解压到test目录中,将SD卡插入手机中。确定SD卡为可读可写状态
另:为保证测试顺利进行,手机不要用图案或密码锁,其他可选设置可参见CTS相关文档(非必须);
1. 手机设置:
Setting->security->screen lock设为None
Setting->display->screen timeout -> 30 minutes
打开wifi 连接网络 (如果是自动测试的话,测试过程中会联网下载一些APK应用进行测试)。
创建CTS.bat 批处文件 文件内容如下:
ECHO OFF
ECHO CTS(Compatibility Test Suite)…
D:
cd D:\androidCTS\CTS\android-cts\tools
java -cp ddmlib-prebuilt.jar;tradefed-prebuilt.jar;hosttestlib.jar;cts-tradefed.jar -DCTS_ROOT=D:\cts com.android.cts.tradefed.command.CtsConsole
保存文件到 cts\android-cts\tools

3、开始测试

Ø 打开终端,进入android-cts/tools目录,运行脚本cts-tradefed。
当检测到设备(Detectednew device)的时候则说明操作成功。
这里写图片描述

Ø 如果把所有CTS测试的case都跑一遍(6-7个小时),可以直接输入如下命令即可:
runcts –plan CTS

Ø 如果只测试CTS中的部分case,只需要输入如下命令即可:
runcts -p android.NET #测试指定包下的所有case
runcts -c android.Net.cts.ListeningPortsTest -m testNoListeningTcp6Ports #测单一case

4、CTS常用命令介绍

Ø 测试计划(plan)相关

lp #查看所有测试计划
runcts –plan #指定一个plan

Ø 测试包(package)相关

lpackages #查看所有测试包
runcts -p #指定一个plan

Ø 具体case相关
CTS是基于JUnit测试,属于白盒测试,所以我们也可以根据某个测试包中某一个具体的类或者方法进行测试:
run cts –p –c [-m ] #测试单一case
更多的命令使用方法可以在终端中输入help查看命令帮助。

六、测试结果
查看测试结果
CTS测试的结果在android-cts/repository/results目录下以开始测试时间为名的目录下的testResults.xml文件中,用浏览器打开后如下图3所示。
图3 . CTS测试结果
CTS测试的日志文件在android-cts/repository/logs目录下的zip文件中,便于定位问题。

你可能感兴趣的:(Android)