http://blog.csdn.net/zxm317122667/article/details/8508013

Android-CTS 4.0.3测试基本配置

1. Download CTS

CTS的获取方式有两种:

1.1.由Google提供

1.1.1.打开浏览器输入连接: http://source.android.com/compatibility/downloads.html

1.1.2.下载所需文件

选择对应Android版本的CDD文档(介绍CTS测试),CTS测试包下载(测试包会不断更新),android-cts-verifier-4.0.3_r1-linux_x86-arm.zip,android-cts-media-1.0.zip

1.1.3.基本文件结构

将下载的CTS测试包解压到相应文件夹里面:android-cts文件夹里面包含Docs、Repository、Tools三个文件夹。

1.1.4.下载android SDK

1.2.通过4.0.3的源码编译得来

在Google提供的Android源码中是包含CTS测试的,源码下可以看到有一个CTS文件夹,里面就是CTS的测试源码。

在Android项目源码下使用命令:

(切换分支,并保证自己的项目源码最新)

./source build/envsetup.sh

choosecombo 1 18 1(仅针对公司自己的手机,我们这儿选择Variant choices :user模式)

make cts

来得到,生成的android-cts包在~/<源码目录>/out/host/linux-x86/cts中。

2.RUN CTS 前期准备工作

2.1.先确定Linux 系统的adb path是否设置正确(我是在虚拟机Ubuntu下模拟的)

Shell 命令:(配置环境变量)

shz@ubuntu:$ cd ~

shz@ubuntu:$ gedit .bashrc

在.bashrc文件中添加

PATH=$PATH:/home/shz/Java/jdk1.6.0_35/bin:

PATH=$PATH:/home/shz/sdk/android-sdk-4.0.3/platform-tools:

PATH=$PATH:/home/shz/sdk/android-sdk-4.0.3/tools:

(根据你自己的实际的文件路径来配置)

2.2.确保你所配置的环境变量都正确

shz@ubuntu:$ java

shz@ubuntu:$ adb

查看信息是否正确,如果没有配置好,会有提示

(例如adb: command not found)

2.3.确保手机已正确连接上

shz@ubuntu:$ adb devices

有的时候会出现这种情况

解决办法:权限问题,给予root权限并在root权限下重启adb server即可。

具体步骤:

shz@ubuntu:$ cd sdk/android-sdk-4.0.3/platform-tools

shz@ubuntu:~/sdk/android-sdk-4.0.3/platform-tools$ sudo su

[sudo]password for shz: (输入密码,回车,root权限)

退出root模式:

Look,一切OK。

3.调整系统状态

3.1.执行系统重置,恢复为出厂状态

3.2.测试前需要安装apk:adb install android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

然后在设置里面的辅助功能中会多一个Delegating Accessibility Service选项,将这个选项打开

3.3.测试前需要安装apk:adb install android-cts/repository/testcases/CtsDeviceadmin.apk

3.4.测试前需要安装apk:adb install CtsVerifier.apk

(之前下载下来的android-cts-verifier-4.0.3_r1-linux_x86-arm.zip解压有)

然后在设置安全->选择设备管理器对多出三个选项,将这三个选项勾选并激活

3.5.测试Media相关项需要用到官方提供的一个media包,有三种方式:

a).在SD卡中建目录test, 将android-cts-media-1.0.zip解压到test目录中,将SD卡插入设备中。确定SD卡为可读可写状态。

b).在Ubuntu环境下,可以再android-cts-media-1.0.zip解压出来的文档中放在一个新建的test文件夹汇中,直接运行文件夹下的

./copy_media.sh

即可。

它会自动把这些media文件拷贝到你的sd卡中。

c).当知道自己的设备适应的视频分辨率,使用

. copy_media.sh 1280x720

将该分辨率及以下的分辨率的视频复制到手机的SD卡中进行测试。

Google一共提供了五种分辨率的视频文件,176x144、480x360、720x480、1280x720、1920x1080。根据自己 设备的具体情况添加,公司手机最大支持1080p的视频,但是超过720p之后的视频播放都会很卡,所以我暂定为选择720p的视频来测试。

3.6.在 android设备设置中:安全->屏幕安全保护->自动锁定设为“无”

3.7. 在 android设备设置中:显示->休眠->休眠时间调节到最长

3.8.在 android设备设置中:开发人员选项->保持唤醒状态,允许模拟地址两项勾选(当然了,USB调试也是需要打开的)

3.9.将 android设备的语言设置为英文。

3.10.需要有一张有话费的可正常使用的SIM卡。

3.11.将WIFI打开,连接一个可用AP(我所在公司的手机为双卡,需要设置好手机的语音、数据、短消息的默认卡)设置->双卡设置

3.12.设置->输入语言设为android

3.13.手机屏幕停留在主界面上

4.RUN CTS

4.1.打开终端,进入android-cts/tools目录

执行命令:

shz@ubuntu:$ cd android-cts/tools

4.2.进入CTS,执行cts-tradefed脚本

执行命令:

shz@ubuntu:~/android-cts/tools$: ./cts-tradefed

当手机连接好的时候,执行该命令,会显示出Android设备的ID, 如果没有这句话,说明手机没有和PC连通。调整手机和PC的连接,连接好了之后,就重复第二步里面的内容并给与手机权限:

之后再重复之前的步骤就可以看见Android设备的ID了。

注:有时候进入CTS测试状态后无法出现cts-tf >,此时电脑按一个回车键就可以了。这算是CTS的一个小bug。

4.3开始整个CTS测试

4.3.1.首先我们先使用help命令来看一下cts-tf >里面的信息:

在这个里面会显示出CTS测试包的版本:

CTS-tradefed host version 4.0.3_r3

我们可以看一下都有哪些测试plan:

测试packages:

后面还有许多就不都贴出来了。

4.3.2.开始执行命令

a) 执行一个plan:run cts --plan <plan名称>

全部测试一遍命令:

run cts --plan CTS

b) 仅测试一个包:run cts -p <测试包名称>

例如:run cts -p android.acceleration

c) 因为是基于JUnit测试,属于白盒测试,所有基本上我们都知道它的内部是如何运行的,所以我们也可以根据某个测试包中某一个具体的类或者方法进行测试:

run cts –p <packages name> –c <class name> [-m  <method name>]

d) 多台Android设备同时测试:

run cts –s 设备名称 -plan <plan名称>

注:

(1)、这儿有一个很重要的命令

我们在进行CTS测试的时候总会有一些因为各种原因引起的不成功的测试项,但是,要完全进行一次全部的CTS测试又是一项很费时的操作,这个时候这 个命令就派上用场了,它可以让我们之前测试的结果的基础上,新建一个根据测试结果为fail/not Executed /time out的集合组建出 一个新的plan,之后测试这个plan,就可以只需要测试那些之前测试没有通过的项目,而不用再把已经通过的项目再测一遍,就节约了很多时间。

(2)、在Google的官网上有这么提到过,当我们在测试一个整的包的时候,成功率比单独测一个类和方法要高。

所以,我们再重测一些失败项的时候,根据情况选择测试一个包的模式也是一个不错的选择。

5.测试结果

测试结果在android-cts/repository/results目录下;

测试日志在android-cts/repository/logs目录下。

6. 失败项目重测及xml文档整合

我们在测试一些项目的时候,完全跑一遍CTS测试,很多项都会失败fail,但是我们在对这些失败项单独测得时候,这些项目pass,这时,我们不 可能再去重新完全跑一次CTS,这样既耗时,也不能确保该项一定会pass,这样,我们就可以用下面的方法来对失败项操作,做到失败项的pass结果整 合。

原理:

将fail项修改成not Executed项,使用该命令进行重测。

6.1. 定位

找到那些测试fail的项,对它们进行源码的修改、调试,之后进行单独测试,直到它不再fail。使用文本编译器打开result的xml文件,找到该项

6.2. 修改

找到项目之后,将[result=”fail”]改成[result=”not  Executed”],记得在xml文件的开头将fail总数和not Executed的总数根据你修改的数目进行修改

修改之后:

6.3. 测试

session_ID是之前查看result前面的ID。

运行,测试完成,结果就被整合到了原来的result集中,pass项将会把原来的fail的log在result的xml文件中也一并删除。

注意事项:CTS测试中不能对终端做任何操作。

转载于:https://www.cnblogs.com/verawang/p/5646040.html

【转】Android CTS 测试相关推荐

  1. android cts测试二

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

  2. Android CTS测试(2.2 2.3 4.0 4.1)

    CTS:Compatiable Test Suite 本文转载自subsist的博客http://blog.csdn.net/subsist/article/category/824984 CTS 2 ...

  3. CTS(3)---CTS 测试的一点心得

    CTS 测试的一点心得 CTS介绍-----------------------------------------------3 什么是CTS---------------------------- ...

  4. 【转】Android兼容性测试CTS --环境搭建、测试执行、结果分析

    原文网址:http://www.cnblogs.com/zh-ya-jing/p/4396918.html 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体 ...

  5. 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析

    原文网址:http://www.cnblogs.com/zh-ya-jing/p/4452675.html CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测 ...

  6. CTS(12)---android 兼容性测试 CTS 测试过程

    android 兼容性测试 CTS 测试过程 写这个博客的时候是为了记忆,建议大家还是看官方的说明,官方说的很清楚,不想把官方大段大段的拷贝到这里,官方的的确说的很清楚: http://source. ...

  7. Android源码下 进行cts测试 和 cts的注意事项。

    2019独角兽企业重金招聘Python工程师标准>>> 1,. build/envsetup.sh 2,make cts 3,android设备打开usb-debugging模式,最 ...

  8. QA:GMS认证、CTS测试、GTS测试、谷歌认证、安卓认证,Android

    本文954个字,正常大约需要阅读两到三分钟,完整阅读更精彩,欢迎评论关注收藏分享! Q:什么是GMS认证? A: GMS全称为Google Mobile Service,即谷歌移动服务,优秀的国外应用 ...

  9. Android的CTS测试

    Android的CTS测试,英文为Compatibility Test Suite,意为兼容性测试.只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限.以 ...

最新文章

  1. 生成多个互不重叠的不同半径圆
  2. Qt 从C ++定义QML类型(二)
  3. Linux字符集安装文件,Linux下字符集的安装
  4. 实例13:python
  5. socketmq 设置队列大小_[译] TCP的SYN队列和Accept队列
  6. Spring Ioc 源码分析(一)- XML 解析
  7. Element menu
  8. android的CursorLoader用法小结
  9. 开启MYSQL慢查询日志
  10. css中用于设置首行文本缩进的属性是,css中设置段落缩进的属性是什么
  11. JS动态插入插件后,不能马上使用,必须刷新
  12. sql语句中表格缩写命名_数据库表字段命名规范
  13. Ubuntu16.04安装Hadoop2.7.3教程
  14. Vue3.0 + pdf.js 实现pdf预览
  15. 金蝶计算机快捷键,金蝶KIS专业版常用快捷键列表.doc
  16. word文档压缩文件大小
  17. 实例分割:R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN
  18. matlab 函数输出 向量,matlab中的函数返回向量
  19. 17个国内外手机APP应用开发平台推荐
  20. python中怎样在图片上画线段_python 实现PIL模块在图片画线写字

热门文章

  1. CakePHP 2.x CookBook 中文版 第五章 控制器 之 请求和响应对象
  2. mysql 16g_问个 MySql 优化问题, 16G, 8 核服务器
  3. 程序员的几个等级,你属于哪个等级呢?
  4. java 自旋锁与互斥锁_如何理解自旋锁和互斥锁?
  5. C#修改应用程序在电脑上运行的优先级
  6. 三维电子沙盘数字沙盘开发教程第7课
  7. js数据结构与算法 图的BFS和DFS
  8. STM32 Proteus UCOSII系统简易时钟计时系统-0054
  9. 分布式架构php,php分布式架构
  10. 文件压缩(二)——英文字符串的处理