一、为什么须要兼容性測试(下面称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

Android自己主动化測试——CTS測试的更多相关文章

  1. Android自己主动化測试之Monkeyrunner用法及实例

    眼下android SDK里自带的现成的測试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但事实上是完全然全不同的两个工具,应用在不同的測试领域.总的来说,monke ...

  2. Android自己主动化測试解决方式

    如今,已经有大量的Android自己主动化測试架构或工具可供我们使用,当中包含:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolect ...

  3. Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)

    我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...

  4. 【金阳光測试】基于控件核心技术探讨---Android自己主动化系列(2)---2013年5月

    第一讲分享了下安卓自己主动化一些概况和一些自己主动化框架现状和技术可以解决什么样的问题. 这次课就深入到android世界里面.遨游.翱翔.深入了解自己主动化測试核心技术. 搞过编程开发的同学听到in ...

  5. 【金阳光測试】大话Android自己主动化測试--Android自己主动化系列(1)--金阳光于2013年4月份

    Android自己主动化測试框架和工具在四年多的发展日趋成熟. 从五年前的第一代自己主动化架构演进到眼下第四代(本系列讲座第7篇后将具体剖析第三代和第四代自己主动化框架)从曾经最早谷歌推崇的monke ...

  6. Maven实战(五)——自己主动化Web应用集成測试

    自己主动化集成測试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及详细实践,我们都知道,自己主动化測试是持续集成不可缺少的一部分,基本上,没有自己主动化測试的持续集成,都非常难称之为真 ...

  7. Android自己主动化构建之Ant多渠道打包实践(下)

    前言 上一篇(Android自己主动化构建之Ant多渠道打包实践(上))已经介绍了Android的apk是怎样构建的,本篇博客继续Ant打包的实践过程. 集成友盟统计SDK 这里以友盟统计为例,对各个 ...

  8. 使用Adt自带的工具进行Android自己主动化測试(三)

    在这个系列的上一篇文章中,我们介绍了MonkeyRunner,并提到假设依据坐标来编写自己主动化脚本的话存在着一定的局限性(点击文末"阅读原文"能够打开这篇文章查看).这篇文章将进 ...

  9. Android 自己主动化測试之------ Monkey工具

    尽管 一般公司都有专门的測试人员,可是有时候 免不了 我们既要去开发产品,也要去測试产品,測试产品.有些机械化的 点界面的操作,谷歌已经给我们提供了工具.Monkey, 猴子測试. 什么是Monkey ...

随机推荐

  1. pomelo源代码分析(一)

    千里之行始于足下,一直说想了解pomelo,对pomelo有兴趣,但一直迟迟没有去碰,尽管对pomelo进行源代码分析,在网络上肯定不止我一个,已经有非常优秀的前辈走在前面,如http://golan ...

  2. Codeforce 143B - Help Kingdom of Far Far Away 2

    B. Help Kingdom of Far Far Away 2 time limit per test 2 seconds memory limit per test 256 megabytes ...

  3. Company Story | Vistaprint

    Company Story | Vistaprint Company Story A Gap in the Small Business Marketplace It’s rare that a hi ...

  4. html练习(5)

    这个练习主要简单的展示了据对定位和相对定位: 在此说下html的定位: 1.static定位 这个是默认的方式.对static而言.left和right是不生效的. 2.relative定位(相对定位 ...

  5. poj3468(线段树)

    题目连接:http://poj.org/problem?id=3468 线段树功能:update:成段增减 query:区间求和. 分析:需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候 ...

  6. leetcode -day19 Convert Sorted List to Binary Search Tree

    1.  Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted ...

  7. 如何用C#使用java

    如何使用C#调用Java 今天需要使用C#调用Java的包,研究了一下,大体是以下几种解决方案: 把Java包转换为DLL或者EXE后注册为com组件,之后调用. 使用web service 比如:H ...

  8. POJ 3181 Dollar Dayz 简单DP

    这DP虽然简单 但是思考一下还是挺好的 题意是 1,2,3,4....k 用加法凑成N 每个数可取不限个数 令dp[i][j] 表示前i种数凑成j的方案数 然后dp[i][j] = dp[i - 1] ...

  9. 一个带动画的页面底部的TabBar的实现

    有时有这样一个需求,页面底部有几个图标能够点击,假设一个screenWidth显示不下这些图标,则这一列图标最后一个是more,点击more,能够通过动画展示两列图标 这样来增加layout中: &l ...

  10. iOS 获取高速随机路径sandbox目录

    NSLog(@"%@", NSHomeDirectory());//沙盒主目录 NSLog(@"%@", NSTemporaryDirectory());//砂 ...