AndroidCTS测试 android 7.0 cts测试

一、Android CTS测试简介

CTS 全称Compatibility TestSuite 兼容性测试工具。当电子产品开发出来,并定制了自己

Android系统后,必须要通过最新的 CTS检测,以保证标准的 android application 能运行在该平台下。通过了CTS 验证,需要将测试报告提交给Google,已取得 androidmarket的认证。CTS是一款通过命令行操作的工具。目前 cts没有提供 windows 版本,只能在Linux下测试。本文将详细介绍在ubantu系统上如何搭建CTS环境,以及运行测试计划和分析测试结果。

二、Android CTS测试环境搭建

1.下载android-SDK linux版本,下载地址:

http://developer.android.com/sdk/index.html

2.下载android-cts包,下载地址:

http://source.android.com/compatibility/downloads.html

根据手机系统版本下载对应版本的cts包,否则将无法运行测试

3.jdk的安装:

http://source.android.com/source/initializing.html

在ubuntu系统中打开终端,输入命令:

$ sudo add-apt-repository "debhttp://archive.canonical.com/ lucid partner"

$ sudo apt-get update

$ sudo apt-get installsun-java6-jdk

$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6/usr/lib/i386-linux-gnu/libX11.so

4.将android-sdk和android-cts解压放置在同一个文件夹

5.在CTS/tools中修改脚本设置环境变量

进入android-cts/tools目录下,修改startcts文件,将脚本中的SDK_ROOT改成自己的SDK路径,如:

SDK_ROOT=/home/jackmiao/workspace/CTS/android-cts/tools

6.设置ubantu系统环境变量

进入ubantu系统用户目录下按Ctrl+H,打开.bashrc在最后面加

PATH=$PATH:$HOME/bin:/home/jackmiao/CTS/android-sdk-linux/tools:/home/jackmiao/CTS/android‐sdk‐linux/platform‐tools:/home/ jackmiao/CTS/android‐cts/tools:

其中红色部分为sdk和cts工具的路径请根据自己的实际路径创建

三、Android-CTS测试的几个概念

在进行 CTS 测试之前,先阐述CTS 测试中几个概念:

ØTestPlan(Plan):测试计划,Testpackage 的集合,每个 Plan 中都包含若干个测试包

以android –cts2.2版本为例,总共有8个测试计划

CTS:包含2万多个测试用例,这些测试用例是检验兼容性必须的,性能测试不包含在本计划中,随版本的更新,本测试计划也会更新。

Signature:包含所有针对公有APIs的署名测试

Android:包含针对android APIs的所有测试

Java:包含所有针对Java核心library的测试

VM:包含对虚拟机的所有测试

RefApp:包含针对参与应用程序的所有测试,随版本的更新,本测试计划也会更新

Performance:包含所有针对性能的测试,随版本的更新,本测试计划也会更新

AppSerurity:针对Application安全性的测试

ØTestPackage(Package):测试包,Testcase的集合

ØTestcase:测试用例,Test 的集合

ØTest:测试,每一个测试对应一个或者多个InstrumentationTest

ØInstrumentationTest:Android 测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用Instrumentation,你可以在主程序启动之前,创建模拟的系统对象,如 Context;控制应用程序的多个生命周期;发送UI事件给应用程序;在执行期间检查程序状态。Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能。

ØResult_Type:CTS的测试结果可以通过命令查阅,也可以通过浏览器查看下结果文件

命令查阅结果:

其中 Testresult有四种类型的值:Pass, Fail,Timeout, NoExecuted

浏览器查看 testResult.xml.路径:…/android‐cts/repository/results/

上图为performanceplan所包含的Testpackage的测试结果,可以看到每个测试包的测试情况,详细的测试结果分析我们将在CTS测试结果分析中介绍,这里主要让大家明确 result_type 的含义。

四、终端测试前准备

1.检测手机是否连接上电脑

打开终端输入命令:adb devices,连接上这会显示设备ID,如果未连接上则会以???????代替,此时可以通过输入以下命令进行连接

$ adb kill-server

$ sudo adb start-server

$ adb devices

2.手机端安装CtsDelegatingAccessibilityService.apk

此包位于android-cts/repository/testcases下面。可以将安装包拷贝到手机后安装也可通过打开终端输入命令。输入命令方法:先定位到plantform-tools文件夹,cdcts/android-sdk-linux/platform-tools然后再输入安装命令:./adb install /安装包的路径/CtsDelegatingAccessibilityService.apk

安装好后设置进入手机设在菜单:

Setting>Accessibility>Accessibility>DelegatingAccessibilityService

3.终端设置:

1)语言设置为English

2)去掉锁屏(Settings> Security & location&security>Set up screenlock>none )

3)设置屏幕超时为最长时间30分钟(Settings>Display>Screentimeout>30minutes)

4)设置唤醒状态(Settings>Applications>Development>Stayawake)

5)设置虚拟地点(Settings >Application > Development > Allowmock locations is set)

6)运行时让屏幕是home主界面上

7)运行过程中不要触摸屏幕及按钮

8)手机时间设置正确

9)有SD卡并是清空

五、测试命令的执行

1.进入CTS测试环境

开启终端输入命令:startcts// 注意权限问题

如果权限不够的话输入:sudo./startcts

输入用户密码

当出现

AndroidCTSversion2.2_r1

Device(s5830f1188529)connected

cts_host>cts_host>

就代表已经进入CTS测试环境

2.CTS测试的方法

Ø查看测试计划

Ls --plan

Ø查看测试包

Ls -p

Ø运行测试计划

start‐‐plan[test_plan_name]

举例:运行VM测试计划

输入命令:--planVM

AndroidCTS测试 android 7.0 cts测试

Ø运行测试计划下的测试包

start‐‐plan [ test_plan_name ]‐p/‐‐package[plan_package_name]

举例:运行Java计划下的android.core.tests.archive测试包

Ø运行测试计划下测试包中的某个测试项

Start –plan [test plan name]–t

[plan_package_name].[class_name]#[plan_package_test_name]

举例:运行Java计划下android.core.tests.archive包下的test_tostring测试项

Ø指定某个设备上运行摸个测试计划中的测试包

start--plan[test_plan_name ]‐d/--device[device_ID]

举例:指定设备ID号为1234567890ABCDEF运行VM测试计划

Ø查看测试结果

Ls –r

举例:

Ø查看某个session的测试记录

ls -r/--result -s/--session session_id

举例: ls –r –s3

3.CTS详细命令

Host:

help: 查看帮助信息

exit: 退出

Plan:

ls--plan: 列出所有的测试包

ls--plan plan_name: 查看测试方案

add--plan plan_name: 新建一个测试方案

add--derivedplan plan_name -s/--session session_id -r/--resultresult_type:

derive a plan from the givensession

rm--plan plan_name/all: remove a plan or all plans fromrepository

start --plan test_plan_name: 运行一个测试方案

start --plan test_plan_name -d/--device device_ID: run a test planusing the

specified device

start --plan test_plan_name -t/--test test_name: run a specifictest

start --plan test_plan_name -p/--package java_package_name:运行一个特定的java测试包

start --plan test_plan_name -t/--test test_name -d/--devicedevice_ID: 用指定的device运行一个特定的测试方案

start --plan test_plan_name -p/--package java_package_name-d/--device devic

e_ID: run a specific java package using thespecified device

Package:

ls-p/--package: list available packages

ls-p/--package package_name: list contents of the package withspecified na

me

add-p/--package root: add packages from root to repository

rm-p/--package package_name/all: remove a package or all packagesfrom repo

sitory

Result:

ls-r/--result: list all result of sessions

ls-r/--result -s/--session session_id: list detail case result of aspecifi

ed session

ls-r/--result [pass/fail/notExecuted/timeout] -s/--sessionsession_id: list

detail cases of a specifiedsession by the specified result.

History:

history/h: list all commands in command history

history/h count: list the latest count records in commandhistory

history/h -e num: run the command designated by 'num' in commandhistory

Device:

ls -d/--device: list available devices

4.Android-CTS用户指南

网址:http://source.android.com/compatibility/downloads.html

六、测试结果分析

Android-CTS运行后会产生一测试报告,测试报告以开始的日期+时间命名,如2011.12.21_12.09.44, 一般只要查看testresult.xml文件就可对测试结果进行分析。由于CTS测试所需要花的时间比较长,当对测试进行调试时可针对的进行测试可节约大量时间。以下将介绍几种常用的方法:

Ø查看整体测试概览

Ø查看具体测试包测试例执行情况

Ø测试fail项查看失败细节

Ø测试调试

首先确定是哪个测试包出现失败,然后针对该测试包进行重新测试

$adbinstall…/andandroid‐cts/package.apk

$adbshellpmlistinstrumentationpm 用于管理 package,看当前机器安装了什么用例

$adbshellaminstrument‐wandroid.tests.sigtest/.InstrumentationRunner

Ø定位某个测试失败项进行单独运行

Start –plan [test plan name]–t

[plan_package_name].[class_name]#[plan_package_test_name]

注意寻找class_name,可从测试报告中找到

举例:

  

爱华网本文地址 » http://www.aihuau.com/a/25101018/375300.html

更多阅读

芦山7.0级地震后的几个问题 420芦山地震

芦山7.0级地震是汶川8.0级地震的余震吗? 据四川省地震局工程地震研究院院长周荣军4月20日接受记者采访时表示,20日8时2分46秒发生的芦山7.0级地震为独立地震,不是汶川地震的余震。周荣军介绍说,与汶川地震一样,芦山7.0级地震同样发生在龙

声明:《AndroidCTS测试 android 7.0 cts测试》为网友恭候春夏的轮替分享!如侵犯到您的合法权益请联系我们删除