简析Android 兼容性测试框架CTS使用
一、什么是兼容性测试?
1)为用户提供最好的用户体验,让更多高质量的APP可以顺利的运行在此平台上
2)让程序员能为此平台写更多的高质量的应用程序
3)可以更好的利用Android应用市场
二、CTS覆盖领域
1)签名测试:针对每个Android正式版,都将附带一系列XML文档对所有的公共API签名进行描述。CTS将检查这些签名是否适用于该设备,并保存其结果。
2)平台API测试:测试SDK中平台核心库和Android应用程序框架的API是否正确
3)Dalvik虚拟机测试:集中测试Dalvik虚拟机
4)平台数据模型测试:测试通过content provides 暴露给程序员的平台数据模型中的核心部分,如联系人,浏览器和设置等应用
5)平台intents测试:测试在SDK中定义的可用平台intents中的核心部分
6)平台权限测试:测试在SDK中定义的可用平台权限中的核心部分
7)平台资源测试:测试在SDK中定义的可用资源类型中的核心部分,如simple values/drawables/nine-patch/animations/layouts/styles/themes
三、CTS运行前的准备工作
1)熟悉CDD(Compability Definition Document),兼容性规范文档。CTS所测试的一切为了确保设备符合该规范,所以我们测试之前必须要对CDD中提出的要求非常熟悉才行
2)CTS(Compability Test Suite)CTS的测试套件,用于实际测试运行所用
3)CTS Verifier 的应用,它将直接安装在手机上,主要用于硬件及CTS测试套件难以测试的一些偏功能型的接口测试,比如Camera、GPS和各种sensor等
四、下载地址:
http://source.android.com/compatibility/downloads.html
这里由于天国对网络的限制,上面网址访问不了,建议注册一个GreenVPN,非常好用
http://gjsq.me/16647406 (合作推广链接,并非钓鱼网站)注册跳转页面
五、CTS运行前配置
1)确保Text 和 Speech文件都被安装到设备中。可到Setting-->Speech synthesis ——>Install voice data 中检查
2)确保设备包含外置SD卡且该卡为空
3)运行CTS前需要回复出厂设置
4)确保屏锁已经关闭
5)确保未知资源已开启
6)确保USB调试选项已被勾选
7)确保屏幕常亮已被勾选
8)确保Allow mock location已被勾选
9)确保设备已连接上可用的Wi-Fi网络
10)确保语言已经切换成英文
11)确保当前屏幕为主页
12)当设备在运行测试用例是,不允许再动它
13)当CTS运行时不允许按下设备上任何物理按键,按下按键可能会干扰正常测试,从而导致测试失败
14)在执行CtsDelegatingAccessibilityService应用:
在repository/testcases文件夹下
打开服务 Setting>Accessibility>Delegating Accessibility Service
15)在执行administration测试包前需要执行以下两步
安装CtsDeviceAdmin应用
在repository/testcases文件夹下
打开服务:Setting>Security>Device Administrators >Enable
16)在执行CTS media压力测试前需将CTS media 问价拷贝到设备中,并进行调整
六、CTS的命令及运行
输入命令进入cts-tradefed文件所在的路径,确保一台设备已连接,在CTS命令控制台下课运行CTS脚本,如运行cts-tradefed的方式为:
#./cts-tradefed
1)查看执行测试计划
Cts-ft>list plans //简化版 l p
不同版本测试计划基本一样,可分七种
CTS:运行所有的兼容性测试用例,目前暂时不包括性能测试用例
Signature:对签名的所有的公共接口进行验证
Android:对Android的接口进行测试
Java:对Java核心库进行测试
VM:对Dalvik虚拟机进行测试
RefAPP:对参考应用进行测试
Performance:对性能进行测试
不明白可以执行help命令
2)查看有哪些测试包
Cts-tf>list packages //简化版 l packages
执行某个测试包
Cts-tf>run cts --package<package_name>
测试util包
Cts-tf>run cts --package android.util
3)单独测试某个用例
Cts-tf>run cts -c <package name> -m <testcase_name>
4)查看结果
Cts-tf>list result //简化版 l r
测试报告会在repository/results文件夹下
5)如何对失败的测试项进行再测试
Cts-tf>l r //查看测试结果
其次根据start time时间,确定你要的任务的session编号例如20
命令:
Add derivedplan --plan plane_name -s session_id -r [pass/fail/notExecuted/timeout]
例如:
Add derivedplan -plan plane_name -s 20 -r fail
最后执行命令开始测试
Run cts -plan <plane_nasme>
备注:后期再编辑添加实践图片进行详解
最后感谢联想许奔的《深入理解Android自动化测试》
简析Android 兼容性测试框架CTS使用的更多相关文章
- Android开源测试框架学习
近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...
- [转]Android开源测试框架学习
近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...
- Android兼容性测试CTS
一.简介 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体验,在每个版本发布之时,Android提供了一套兼容性测试用例集合(Compatibility ...
- android 兼容性测试 CTS 测试过程(实践测试验证通过)
source: http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明 ...
- 【转】android 兼容性测试 CTS 测试过程(实践测试验证通过)
原文网址:http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明,官方 ...
- 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析
原文网址:http://www.cnblogs.com/zh-ya-jing/p/4452675.html CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测 ...
- 【转】Android兼容性测试CTS --环境搭建、测试执行、结果分析
原文网址:http://www.cnblogs.com/zh-ya-jing/p/4396918.html 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体 ...
- Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析
CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测试的功能,比如相机.传感器等.由于硬件配置或其他原因,不同手机上部分测试项目被隐藏,也就是说CTS Veri ...
- Android兼容性测试CTS --环境搭建、测试执行、结果分析
为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体验,在每个版本发布之时,Android提供了一套兼容性测试用例集合(Compatibility Test S ...
随机推荐
- js中的sort方法
js中原生的sort()采用快排和插入排序算法,根据比较器对数组排序. 默认是将数组元素转为字符串,然后根据Unicode字符集编号的大小排序. charCodeAt(index) 返回指定位置字符的 ...
- 小程序的1024KB
1024kb 只是一个目前编译后代码可上传最大限制,至于后期会不会更改,不得而知.个人只是想借 1024kb 来和大家一起交流一下,如何在限制下,挥舞大刀- 微信官方回答了,为什么有 1024kb 的 ...
- 实时语音视频技术webrtc的编译总结
webrtc编译教程 一.安装depot_tools工具 首先你的电脑上安装了git 1) 下载depot_tools cd到下载的目录下 git clone https://chromium. ...
- 由12306.cn谈谈网站性能技术
12306.cn网站挂了,被全国人民骂了.我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题.因为仓促,而且完全基于本人有 限的经验和了解,所以,如果有什么问题还请大家一起讨论和 ...
- 浅谈 Java 主流开源类库解析 XML
在大型项目编码推进中,涉及到 XML 解析问题时,大多数程序员都不太会选用底层的解析方式直接编码. 主要存在编码复杂性.难扩展.难复用....,但如果你是 super 程序员或是一个人的项目,也不妨一 ...
- 小程序API录音后Silk格式转码MP3
问题 客户端使用小程序,需要录音功能然后到后台页面播放,由于微信提供的录音API压缩后的格式为 .silk格式的,但是这个格式其他播放器都是播放不了的,更何况html页面的audio标签更是不可能播放 ...
- Docker - 运行 containers 使用在 swarm 模式下创建的 overlay 模式的 network
前言 在Docker engine v1.12, 使用Swarm可以方便的创建overlay模式的网络,但是它只能被swarm下面的service所使用的,相对于container,这个网络是完全隔离 ...
- day5_ 导入模块和包
######################模块导入模块做的事1.产生新的名称空间2.以新建的名称空间为全局名称空间,执行文件的代码3.拿到一个模块名spam,指向spam.py产生的名称空间 imp ...
- spring异常处理器
一.本篇文章旨在讨论异常处理器: 1.因为异常处理器在实战中通常用来处理开发人员自定义的运行时异常,所以如果要了解如何自定义运行时异常,请自行搜索相关资料. 2.本文的demo用IndexOutOfB ...
- 一些java考过的测试题和自己制作模拟服务端和客户端
媒体 1,java环境变量: PATH: .;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; CLASSPATH: .;%JAVA_HOME%\jre\lib\rt.jar ...