2019独角兽企业重金招聘Python工程师标准>>>

【转】http://blog.csdn.net/pugongying1988/article/details/6976091

一、为什么需要兼容性测试(以下称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文件)提交给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文件(默认就是,直接双击)就可以查看所用的测试报告了。

转载于:https://my.oschina.net/u/920274/blog/3059325

android CTS 介绍相关推荐

  1. android cts测试二

    转宋立新大牛的博客 Android CTS 测试研究 宋立新 , Android , 博客 , CTS , 研究 Android CTS 测试研究 前言¶ 从各种渠道了解到 Android CTS 测 ...

  2. Android CTS 测试总结【转】

    最近一直在做Android兼容性测试,根据Android官网给出的android-cts-manual 配置好了device后,开始测试. 首先配置软件环境: 1.下载Android-2.1系统,并编 ...

  3. android AsyncTask介绍(转)

    android AsyncTask介绍 AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接 ...

  4. Android类库介绍

    Android类库介绍 GPhone开发包Android SDK含了很多丰富的类库: android.util 涉及系统底层的辅助类库 android.os 提供了系统服务.消息传输.IPC管道 an ...

  5. 1.android体系结构介绍

    一.Android的介绍 android介绍见百度百科:Android的介绍,度娘把Android介绍的这么清楚,如果谷歌是Android的爹,那度娘就是娘了. 二.Android的架构图 andro ...

  6. 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析

    原文网址:http://blog.csdn.net/xubin341719/article/details/38584469 关键词:蓝牙blueZ  A2DP.SINK.sink_connect.s ...

  7. 作业Android自我介绍

    ***Android自我介绍***

  8. Android HIDL 介绍学习之客户端调用

    应上一篇文章Android HIDL 介绍学习_Super Jang的博客-CSDN博客_安卓hidl读者的要求,本文更新客户端调用方法. hidl的客户端调用相比服务端的实现要简单很多,本次我们通过 ...

  9. Android开发介绍

    Android开发介绍 这个教程设计是帮助你学习基础的Android开发和快速搭建您的开发环境.这个是在我的Window 7上编写的,当然它也支持Linux(uBuntu).Mac OS其他支持And ...

最新文章

  1. codevs 1203 判断浮点数是否相等
  2. char* 和 char * 思考
  3. Codeforces Round #642 (Div. 3)(AB)
  4. HALCON示例程序fin.hdev通过形态学检测缺陷
  5. [2020.11.27NOIP模拟赛]中位数之中位数【二分,树状数组】
  6. 可网管交换机与非网管交换机的区别
  7. 【渝粤题库】陕西师范大学100141大学英语(三)作业 (专升本、高起本)
  8. 关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID
  9. linux mp3长度,得到一个wma或mp3文件,如何用最简单的方法得到它的长度信息呢?...
  10. 项目中的难点怎么克服_克服大型项目中的文档挑战
  11. 中国塑料箱市场趋势报告、技术动态创新及市场预测
  12. [转]MSSQL查询优化
  13. spin_lock的变体
  14. 空头平仓什么意思_什么是白糖期货期权仿真交易套利机会?
  15. TCP/IP网络编程-前三章学习笔记
  16. 二分法(Bisection)求解单根(python,数值积分)
  17. 屏幕保护程序Aerial Mac
  18. 2019西工大计算机类排名,西北工业大学2019年排名第31位 较2018年上升1名
  19. 利用EXCEL自动生成20以内加减法
  20. linux+parted+4k对齐,Centos 磁盘4K对齐脚本 | 聂扬帆博客

热门文章

  1. HTML怎么让文本在一个div上下左右居中呢?
  2. 江西省中小学生学籍管理-初(高)中学校本省内进行自主招生(6)
  3. Basler相机和pylon viewer 的使用
  4. 苹果steam手机令牌未能连接服务器,steam手机令牌登不上怎么办(6种原因方法轻松解除)...
  5. 【物理应用】基于相场法模拟金属镍的晶粒的长大过程附matlab完整代码
  6. REALbasic与神州飞船
  7. 如何拯救容量已经快被塞满的SSD系统盘
  8. STM32WB HSE校准
  9. WSL 双系统端口映射,网络穿透最新教程
  10. latex绘制三线表格,并设置分割线粗细