AndroidCTStest安装和命令V11.docx

上传人:b****4 文档编号:12264119 上传时间:2023-04-17 格式:DOCX 页数:21 大小:1.01MB
下载 相关 举报
AndroidCTStest安装和命令V11.docx_第1页
第1页 / 共21页
AndroidCTStest安装和命令V11.docx_第2页
第2页 / 共21页
AndroidCTStest安装和命令V11.docx_第3页
第3页 / 共21页
AndroidCTStest安装和命令V11.docx_第4页
第4页 / 共21页
AndroidCTStest安装和命令V11.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

AndroidCTStest安装和命令V11.docx

《AndroidCTStest安装和命令V11.docx》由会员分享,可在线阅读,更多相关《AndroidCTStest安装和命令V11.docx(21页珍藏版)》请在冰豆网上搜索。

AndroidCTStest安装和命令V11.docx

AndroidCTStest安装和命令V11

CTS测试

1.系统:

UBUNTU11LINUX系统

2.JDK1.7

3.SDK官网最新下载(2013年4月8日)

4.CTS官网最新下载(2013年4月8日)

5.ECLIPSE官网最新下载(2013年4月8日)

6.ADT15.0.0(这个安装到ECLIPS中需要去文件中修改版本,一般下载后最新的的是ADT21.1.0。

建虚拟器的时候提示ADT版本太低。

所以需要去修改SDK中tools/lib/plugin.prop中的版本,这样就可以了,不会报错。

如果公司网路没有屏蔽,可以通过更新ECLIPSE中的ADT,自动升级到最新版本。

以上是我安装的时候,需要下载到的软件。

运行模拟器,是已经可以进行CTS测试了。

手机没有进行验证,如果后验证,后续再更新一个版本。

 

一、AndroidCTS测试简介

CTS 全称Compatibility Test Suite兼容性测试工具。

当电子产品开发出来,并定制了自己

的Android系统后,必须要通过最新的CTS检测,以保证标准的android application能运行在该平台下。

通过了CTS验证,需要将测试报告提交给Google,已取得android market的认证。

 CTS是一款通过命令行操作的工具。

目前cts没有提供windows版本,只能在Linux下测试。

本文将详细介绍在ubantu系统上如何搭建CTS环境,以及运行测试计划和分析测试结果。

二、AndroidCTS测试环境搭建

说明:

所有的安装路径最好都用小写,这样编辑路径的时候不会出错。

LINUX系统是识别大小写的。

1.jdk的安装:

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

Java–version(查看系统中安装的JDK)

Apt-getinstall<选定软件包>(如果没有安装JDK,可以选择安装系统自带的JDK)

注明:

如果从官网下载安装包,请查阅网上安装流程。

同时要注意自己系统是X84,X64下载对应的安装包

2.将android-sdk和android-cts下载版本解压放置在同一个文件夹

 

3.下载android-SDKlinux版本,下载地址:

步骤:

1.安装android-sdk2.2解压下载所得的android-sdk到安装的目录(任意),如:

/home/tester/cts/android-sdk-linux_86。

进入/home/tester/cts/android-sdk-linux_86/tools,运行android可执行文件:

双击

,点击“在终端运行”,出现

在左菜单中选择“Installedpackage”选项,点击下方“updateAll…”按钮,进入更新界面:

选择左边的的package,选择“Reject”,不会更新该package,点击Install。

进入更新状态。

2.将platfrorm-tools目录下的adb文件拷贝到tools目录下(安装CTS时会用到)安装完成。

在LinuxCommand窗口输入以下命令:

Øenv

可查看到当前PATH的值为:

PATH=/home/username/bin:

/usr/local/sbin:

/usr/local/bin:

/usr/sbin:

/usr/bin:

/sbin:

/bin:

/usr/games:

/home/username/bin:

再输入以下命令,将AndroidSDK路径加入到环境变量中:

Øexport

PATH=/home/username/bin:

/usr/local/sbin:

/usr/local/bin:

/usr/sbin:

/usr/bin:

/sbin:

/bin:

/usr/games:

/home/username/bin:

/home/username/android-sdk-linux_86/platform-tools:

/home/username/android-sdk-linux_86/tools

Note:

1>各环境变量之间用冒号隔开

2>如果PATH中已添加了AndroidSDK路径,默认即可

说明:

每次运行前,要先查看一下路径是否已经添加,如果没有添加,在添加一次。

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

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

a.配置CTS:

进入/home/username/CTS/android-cts/tools目录,打开/home/username/CTS/android-cts/tools/startcts脚本进行编辑,找到脚本中第一次出现SDK_ROOT的地方(注释了的片段不算),将AndroidSDK的根目录路径赋值给“SDK_ROOT”,如下:

#AddSDK_ROOTtothePATHforbackwardscompatibilitywithpriorstartcts

#commandsthatrequiredSDK_ROOTtofindadb.

if[-n"${SDK_ROOT=/home/username/android-sdk-linux_86}"];then

PATH=${SDK_ROOT}/platform-tools:

${SDK_ROOT}/tools:

${PATH}

fi

然后保存编辑。

5.设置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工具的路径请根据自己的实际路径创建

6.设置手机/模拟器:

Note:

该部分很重要,缺少任何一步,都将无法进行CTS测试。

模拟器可以通过系统的软件中心进行下载。

ADT数据包通过网络下载。

(1)下载并安装AndroidSDK。

(2)手机/模拟器上已在运行一个用户build(Android1.6以上版本)。

(3)找到AndroidSDK中的AndroidManifest.xml文件(注意使用主文件),打开,在节点的属性中添加android:

debuggable="true"。

.在Linuxcommand窗口输入以下命令(可首先进入AndroidSDK目录):

Øfind–name“AndroidManifest.xml”

.打开如下目录中的AndroidManifest.xml文件:

/home/username/android-sdk-linux_86/samples/Adroid-10/Home/AndroidManifest.xml

.找到以下片段:

persistent="true"

android:

label="@string/home_title"

android:

icon="@drawable/ic_launcher_home">

.加上android:

debuggable="true":

persistent="true"

android:

label="@string/home_title"

android:

icon="@drawable/ic_launcher_home"

android:

debuggable="true">

保存修改。

(4)进入手机/模拟器的Settings>Applications,勾选上“Unknownsources”项。

(5)进入手机/模拟器的Settings>Applications>Development,勾选上“USBdebugging”项。

(6)让PC能识别到手机:

.如果使用的是Windows操作系统,需要在PC上安装手机配套的USB驱动。

.如果使用的是Mac操作系统,不需要进行任何设置直接可识别手机。

.如果使用的是UbuntuLinux操作系统,需要在/etc/udev/rules.d/51-android.rules文件(如果没有该文件,需要先手动创建)中配置USB接口:

Øcd/etc/udev/rules.d/

Øls

Øgedit(orvi)51-android.rules

在文件中添加如下内容,保存修改:

SUBSYSTEM=="usb",ATTR{idVendor}=="0bb4",MODE="0666",GROUP="plugdev" 

SUBSYSTEM=="usb",SYSFS{idVendor}=="18d1",MODE="0666"

修改文件的使用权限如下:

Øchmoda+r/etc/udev/rules.d/51-android.rules

检测下是否设置成功,执行如下命令,如果显示出手机ID,说明配置USB成功:

Øadbdevices

Note:

各品牌手机的USBVendorIDs分别如下表所示:

Company

USBVendorID

HTC

0BB4

Huawei

12D1

Lenevo

17EF

Motorola

22B8

Qualcomm

05C6

ZTE

19D2

(7)需要通过Settings->SpeechSynthesis->Installvoicedata来下载安装TTS(TextToSpeech,能 将所指定的文本转成不同语言音频输出)文件:

(8)在手机/模拟器上配置了一个谷歌帐号。

(9)确保手机内插有SD卡,或为模拟器配置了虚拟SD卡(可进入/home/username/android-sdk-linux_86/tools目录,执行./mksdcard1024Msdcard.img创建虚拟SD卡,然后编辑模拟器,通过选择目录方式引入该虚拟SD卡,重启模拟器即可)。

(10)在设备/模拟器上做一次恢复出厂设置(Settings->SDCard&phoneStorage->Factorydatareset)。

注意:

这会删除设备上的所有用户数据。

(11)进入手机/模拟器的Settings->Security&location,去勾选“RequirePattern”项。

(12)确保手机/模拟器的“ScreenTimeout”被设置为“NeverTimeout”(Settings->Sound&Display->ScreenTimeout应该被设置为“NeverTimeout”)。

(13)确保手机/模拟器的“StayAwake”被选中(Settings->Applications->Development->Stayawake)。

(14)确保手机/模拟器的Settings->Application->Development->Allowmocklocations被设置为true。

(15)在运行CTS之前,确保手机/模拟器停留在主界面。

(16)正在运行CTS时,不要在手机/模拟器上进行任何其它操作(包括按键/触摸屏幕)。

7.使用CTS:

1.Android-CTS测试的几个概念

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

 

ØTest Plan(Plan):

测试计划,Test package的集合,每个Plan中都包含若干个测试包 

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

CTS:

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

Signature:

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

Android:

包含针对androidAPIs的所有测试

Java:

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

VM:

包含对虚拟机的所有测试

RefApp:

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

Performance:

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

AppSerurity:

针对Application安全性的测试

ØTest Package(Package):

测试包,Test case的集合 

ØTest case:

测试用例,Test的集合 

ØTest:

测试,每一个测试对应一个或者多个Instrumentation Test 

ØInstrumentation Test:

Android测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。

使用Instrumentation,你可以在主程序启动之前,创建模拟的系统对象,如Context;控制应用程序的多个生命周期;发送UI事件给应用程序;在执行期间检查程序状态。

Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能。

ØResult_Type:

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

命令查阅结果:

 

其中Test result 有四种类型的值:

Pass, Fail, Timeout, NoExecuted 

浏览器查看testResult.xml. 路径:

 …/android‐cts/repository/results/

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

 

2.CTS测试

(1)前提条件:

确保有手机通过USB连接到PC,或模拟器已打开。

检测手机是否连接上电脑

打开终端输入命令:

adbdevices,连接上这会显示设备ID,如果未连接上则会以?

代替,此时可以通过输入以下命令进行连接

$adbkill-server

$sudoadbstart-server

$adbdevices

(2)手机端安装CtsDelegatingAccessibilityService.apk

此包位于android-cts/repository/testcases下面。

可以将安装包拷贝到手机后安装也可通过打开终端输入命令。

输入命令方法:

先定位到plantform-tools文件夹,cdcts/android-sdk-linux/platform-tools然后再输入安装命令:

./adbinstall/安装包的路径/CtsDelegatingAccessibilityService.apk

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

Setting>Accessibility>Accessibility>DelegatingAccessibilityService

 

(3)进入/home/username/CTS/android-cts/tools,执行其下的startcts:

Østartcts(或者./startcts)

.如果CTS连接成功将显示类似如下的提示:

AndroidCTSversion2.3_r1

Device(emulator-5554)connected

cts_host>

(4)进入CTS测试环境

开启终端输入命令:

startcts//注意权限问题

如果权限不够的话输入:

sudo./startcts

输入用户密码

当出现

Android CTS version 2.2_r1 

Device(s5830f1188529) connected 

cts_host > cts_host > 

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

(5)启动默认的测试plan:

cts_host>start--planCTS

.执行此cts命令,将运行所有的测试包。

cts_host>help

.执行此cts命令,将显示出所有cts命令。

.通过执行不同的cts命令,可测试一个plan,一个package,一个class,一个method,甚至method中的参数。

.所有的plan在/home/username/CTS/android-cts/repository/plans目录,包含以下几类plan(xml文件):

>CTS:

包含所有的测试用例,大约会在设备上执行121000个测试。

>Signature:

包含对所有公开API的签名认证。

>Android:

包含对Android平台API的测试。

>Java:

包含对Java核心库API的测试。

>VM:

包含对DalvikVm的测试。

>RefApp:

包含对相关应用程序的测试。

>Performance:

包含对系统性能的测试。

.所有的testcase在/home/username/CTS/android-cts/repository/testcases目录(每个apk文件对应一个同名xml文件).

Ls--plan

Ø查看测试包

Ls-p

Ø运行测试计划

start ‐‐plan [test_plan_name] 

举例:

运行VM测试计划

输入命令:

--planVM

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

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

举例:

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

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

Start–plan[testplanname]–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测试计划

cts_host>exit

.执行此cts命令,退出CTS运行环境。

8.查看CTS测试结果:

Ls–r

举例:

Ø查看某个session的测试记录

ls-r/--result-s/--sessionsession_id

举例:

ls–r–s3

测试结果被放在$CTS_ROOT/repository/results/.zip压缩包中。

解压缩后,找到testResult.xml文件,通过浏览器(推荐火狐3.x版本浏览器)打开浏览详细的CTS测试结果。

9.测试结果分析

Android-CTS运行后会产生一测试报告,测试报告以开始的日期+时间命名,如2011.12.21_12.09.44,一般只要查看testresult.xml文件就可对测试结果进行分析。

由于CTS测试所需要花的时间比较长,当对测试进行调试时可针对的进行测试可节约大量时间。

以下将介绍几种常用的方法:

Ø查看整体测试概览

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

Ø测试fail项查看失败细节

Ø测试调试

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

$ adb install …/andandroid‐cts/package.apk

$ adb shell pm list instrumentation  pm用于管理package,看当前机器安装了什么用例

$ adb shell am instrument ‐w android.tests.sigtest/.InstrumentationRunner              

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

Start–plan[testplanname]–t

[plan_package_name].[class_name]#[plan_package_test_name]

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

举例:

 

10.注意事项:

(1)CTS在测试时会重启设备,这是正常现象。

(2)CTS一次只能在一个设备上执行。

11.附录-编译CTS方法:

(1)在Linux下进入android源码根目录,输入以下命令:

$chmod777build/envsetup.sh

$build/envsetup.sh

$makects

此时生成测试计划,测试包,测试用例,和测试报告生成的目录,

编译好cts后生成的文件位置如下:

#.../…/linux-x86/

在该目录下包含如下测试文件:

◆PackageCTS:

out/host/linux-x86/cts/android-cts.zip

◆ctsmakefile:

mydroid/build/core/tasks/cts.mk

◆runctsprogram:

mydroid/out/host/linux-x86/bin/cts

◆testplans:

mydroid/out/host/linux-x86/cts/android-cts/repository/plans

◆testpackages:

mydroid/out/host/linux-x86/cts/android-cts/repository/testcases

◆testresults:

mydroid/out/host/linux-x86/cts/android-cts/repository/results

◆CTSprogramsettingsvalue:

mydroid/cts/tools/utils/host_config.xml

(2)CTS详细命令

Host:

help:

查看帮助信息

exit:

退出

Plan:

ls--plan:

列出所有的测试包

ls--planplan_name:

查看测试方案

add--planplan_name:

新建一个测试方案

add--derivedplanplan_name-s/--sessionsession_id-r/--resultresult_type:

deriveaplanfromthegi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1