Android CTS 测试总结【转】

最近一直在做Android兼容性测试,根据Android官网给出的android-cts-manual 配置好了device后,开始测试。

首先配置软件环境:
1、下载Android-2.1系统,并编译。

$ . build/envsetup.sh          //配置选项,并编译android源码
$ make cts                                 //android源码编译好后,在编译cts

 
2、编译好cts后生成的文件位置如下
#mydroid/out/host/linux-x86/
在该目录下包含如下测试文件
  • Package CTS: out/host/linux-x86/cts/android-cts.zip
  • cts make file: mydroid/build/core/tasks/cts.mk
  • run cts program: mydroid/out/host/linux-x86/bin/cts
  • test plans: mydroid/out/host/linux-x86/cts/android-cts/repository/plans
  • test packages: mydroid/out/host/linux-x86/cts/android-cts/repository/testcases
  • test results: mydroid/out/host/linux-x86/cts/android-cts/repository/results
  • CTS program settings value: mydroid/cts/tools/utils/host_config.xml
3、连接上Device后,进入如下目录
#mydroid/out/host/linux-x86/bin/
并输入./cts来启动cts测试,效果如下:
Android  CTS  version  2.1_pre_r2  
device(0123456789ABCEDF)  connected
cts_host >
此时输入 help  将会列出cts所有的操作。
cts_host> ls  --plan   //list all  test plan 
cts_host> ls  -p           //list all testcase
cts_host>start  --plan  [plan name]     //test   plan
.............
.............
 
4、进入目录 
#mydroid/out/host/linux-x86/cts/android-cts/repository/plans
将会看到有8个测试的基类,它们分别是
 Android.xml     
AppSecurity.xml
CTS.xml
Java.xml
Performance.xml
RefApp.xml
Signature.xml
VM.xml
用UltraEdit打开这些文件后,将会看到所有基类里包含的package 都给出了相应的uri,
cts将根据这些uri去测试每个基类里的package,
 
5、cts_host > start  --plan  Android  
输入上面的命令后,就开始测试 Android API, 其它的类测试命令和这个一致,如下:
cts_host > start  --plan  Android           //test    Android  API
cts_host > start  --plan  CTS               //contains all tests and will run ~21,000 tests on your device  
cts_host > start  --plan  Java             //test   Java  core  libary
。。。。。。。。。
 
6、测试好后,通过输入如下命令来查看测试情况
cts_host > ls  -r
 
7、CTS测试会自动生成相应的测试包,该包位于如下目录:
#mydroid/out/host/linux-x86/cts/android-cts/repository/results
每个测试包中包含了如下文件;
cts_result.css
cts_result.xsl
logo.gif
newrule-green.png
testResult.xml
该包的测试情况都在 testResult.xml 文件中,通过查看该文件可以知道,那些是和
Android兼容的,,
 
 
8、未解决的问题
在测试中会遇到adb重启,adb重启后,断开Device连接,此时需要拔下usb再插上,才能再次测试,
如何解决这一情况有待研究,,
 
9、几个不错的参考网站
1、http://source.android.com/compatibility/index.html        //  Android  compatibility
2、http://androidboss.com/android-cts-compatibility-test-suite-introduction-2/       // CTS  how to add  new testcase    
3、 http://www.at91.com/android4sam/bin/view/Android4SAM/                  // Atmel_android  sam9m10   website
4、http://blog.csdn.net/zjujoe/archive/2010/06/01/5640461.aspx         // good blog
 
分类: 安卓开发

Android CTS 测试总结【转】的更多相关文章

  1. 监听Android CTS测试项解决方案(二)

    二,监听当前测试项是否是Accelerometer Measurement Test测试项 通过第一种方式介绍的,我们可以得到当前处于活动状态的Activity类似监听CTS测试当前的测试项.但是由于 ...

  2. 监听Android CTS测试项解决方案(一)

    前言: 首先这里需要详细叙述一下标题中"监听Android CTS测试项解决方案"的需求.这里的需求是指我们需要精确的监听到当前CTS测试正在测试的测试项. 因为我们知道CTS认证 ...

  3. 如何debug android cts

    启动和关闭ADB服务(adb start-server和adbkill-server) 经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可以找到这个服务,该服务用来为模拟器 ...

  4. 【转】android4.1.2 CTS测试总结

    原文网址:http://blog.csdn.net/bboyliaoye/article/details/17299259 公司客户的产品要过google GMS认证,首先要过的就是兼容性测试(CTS ...

  5. Android CTS測试Fail项改动总结(四)

    Android5.1上的測试 1.android.security.cts.SELinuxDomainTest# testInitDomain fail 打印的log junit.framework. ...

  6. android CTS测试

    CTS认证是获得Google推出的Android系统中Android Market服务的前提 CTS兼容性测试的主要目的和意义在于使得用户在Android系统的应用过程中,有更好的用户体验,并展现出A ...

  7. Android N和O中使用adb shell dpm set-device-owner 'com.android.cts.verifier/com.android.cts.verifier.managedprovisioning.DeviceAdminTestReceiver' setup Device Owner失败

    PC端出现如下log: D:\workspace\AndroidO\CTS\CTS_Verifier>adb shell dpm set-device-owner 'com.android.ct ...

  8. Android CTS Test

    什么是CTS测试?了解这个问题前,我们先来搜索了解一遍“Google GMS 认证”.GMS全称为GoogleMobile Service,即谷歌移动服务.说白了GMS其实就是一系列谷歌的应用集合.谷 ...

  9. Android CTS Test failed to run to conmpletion 测试超时问题

    引用“Android cts all pass 全攻略”里面的一段话: ❀ testcase timeout 测试某个testcase的时候一直出现 “........”,迟迟没有pass或者fail ...

随机推荐

  1. 《Windows驱动开发技术详解》之派遣函数

    驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的.用户模式下所有对驱动程序的I/O请求,全部由操作系统转化为一个叫做IRP的数据结构,不同的IRP数据会被“派遣”到不同 ...

  2. 第十六节,基本数据类型,字典dict

    字典 常用操作: 索引 新增 删除 键.值.键值对 循环 长度 字典由键值对组成,由一个键(名称)和 一个值组成,与列表和元组不同的是里面的元素是有键的(名称) 所以当要打印字典时,打印字典变量加[键 ...

  3. shell脚本学习(一)

    1.hbg@HWM:/$ su root密码:root@HWM:/# $表示普通用户, #表示管理员用户root.root是linux系统中权限最高的用户. 2.在bash中,每个变量的值都是字符串. ...

  4. elasticsearch快照和恢复

    摘要:es可以通过简单的命令对索引或者整个集群进行快照和恢复 快照和恢复 Snapshot and restore 模块允许创建单个索引或者整个集群的快照到远程仓库. 在初始版本里只支持共享文件系统的 ...

  5. Entity Framework技巧系列之十 - Tip 37 - 41

    提示37. 怎样进行按条件包含(Conditional Include) 问题 几天前有人在StackOverflow上询问怎样进行按条件包含. 他们打算查询一些实体(比方说Movies),并且希望预 ...

  6. LeetCode OJ 292.Nim Game

    You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac ...

  7. Asp.Net调用Office组件操作时的DCOM配置 (转)

    Asp.Net调用Office组件操作时的DCOM配置 http://blog.csdn.net/gz775/article/details/6447758 在项目中将数据导出为Excel格式时出现“ ...

  8. 在vim中使用perltidy美化perl代码

    来源: http://www.cnblogs.com/itech/archive/2013/02/18/2915279.html 格式优美的perl代码不但让人赏心悦目,而且可以方便阅读. perlt ...

  9. inno setup 1

      1.简单脚本 [setup] AppName=Test AppVerName=Test DefaultDirName="d:\setup\app" AppVersion=1.0 ...

  10. vbscript语句

    'vbscript语句Call'[call] name [argumentlist]'把控制转移到函数或子程序.当调用函数或子程序时,Call是可写可不写的.但是如果你用了Call,那么argumen ...