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