Android自己主动化測试——CTS測试

 

一、为什么须要兼容性測试(下面称CTS)?

1.1、让APP提供更好的用户体验。用户能够选择很多其它的适合自己设备的APP。让APP更稳定。

1.2、让开发人员设计更高质量的APP。

1.3、通过CTS的设备能够执行Android market。

另外,CTS是免费的,并且非常easy。

二.CTS是开源的測试框架,使用它来測试你的设备是否具备兼容性。CTS主要包括两个组件:

执行在PC上的測试框架组件。主要用来管理測试用例(test case)的执行。

执行在设备或模拟器上的測试用例。这些用例用JAVA写成的APK文件。

三、工作流程

1、能够从源代码编译CTS,也能够从站点下载编译好的CTS

2、安装配置CTS。

3、把设备连接到PC上。

4、执行CTS。CTS会把对应的測试用例(也就是一个APK文件)传送到设备上并通过instrumentation执行,然后记录执行结果,最后删除測试用例。

全部的測试用例执行完成后,能够參照測试结果又一次调整或优化系统。然后继续执行CTS測试。

5、測试通过以后,你能够把CTS生成的结果(就是result以下那个以測试时间命名的.zip文件)提交给cts@android.com。

四、眼下的測试覆盖面

眼下,为了确保兼容,測试用例覆盖了以下的这些范围

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搭建(Unbutu/Linux平台)

1.   下载CTS包http://source.android.com/compatibility/downloads.html

2.   在手机或者模拟器上安装CtsDelegatingAccessibilityService.apk非必需

(1)$sudo ./adb install -r /home/tester/cts/android-cts/repository/testcases

/CtsDelegatingAccessibil

ityService.apk

(2)手机或模拟器设置Settings > Accessibility > Accessibility > Delegating Accessibility Service

3.   进入android/out/host/linux-x86/cts /android-cts/repository/tools文件夹下,改动startcts脚本文件。将脚本中的SDK_ROOT该成自己的android SDK路径.

$cd home/tester /cts/android-cts/repository/tools $vim startcts改动脚本中出现的第一个SDK_ROOT,如"SDK_ROOT=/home/tester/cts/android-sdk-linux_86"。

4.   运行startcts脚本。在运行CTS測试计划时(运行一段时间后,大于5分钟)会出现没有足够权限启动devices,使用$sudo ./startcts可解决该问题。

(Windows下配置好sdk和android开发环境后,能够直接通过java命令来运行cts測试:java -Xmx512M -cp D:\android-cts\tools\cts.jar;D:\android-cts\tools\hosttestlib.jar;D:\android-cts\tools\junit.jar;C:\Android\android-sdk\tools\lib\ddmlib.jar com.android.cts.TestHost D:\android-cts\repository\host_config.xml

假设使用的是android-cts-2.2_r4-x86.zip,-cp选项中须要多一个D:\android-cts\tools\lib\CtsTestAnnotationsHostLib.jar,可參考startcts脚本。)

5.   出现例如以下提示符表示启动cts并连接设备成功。(红色部分未deviceID,视设备号而定)

Android CTS version 2.3_r4

Device(emulator-5544) connected

cts_host > cts_host >

6.   在“cts_host >”提示符下输入命令,下面为几个经常使用的命令

help查看全部

exit退出

ls -p列出全部的測试包

ls --plan列出全部的測试方案

start --plan plan_name执行一个測试方案,如:start --plan CTS

start --plan plan_name --package package_name执行一个特定的測试包,如:start --plan CTS --package android.bluetooth


六、查看測试报告

执行測试时,在CTS执行界面能看到測试报告与执行状况。測试完毕后可在android-cts/repository/results/下生成具体的測试报告和一些附加信息,当中用日期和时间命名的目录下为全部的測试结果,同一时候目录也会被打成一个相应的.zip包方便提交。用浏览器打开.xml文件(默认就是,直接双击)就能够查看所用的測试报告了。

 

七:网址

http://hi.baidu.com/jugege/blog/item/dcb6edf3f88e8d43352accb0.html

posted @ 2015-06-04 10:30  hrhguanli  阅读(224)  评论(0编辑  收藏  举报