AndroidCTStest安装和命令V11.docx
- 文档编号:12264119
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:21
- 大小:1.01MB
AndroidCTStest安装和命令V11.docx
《AndroidCTStest安装和命令V11.docx》由会员分享,可在线阅读,更多相关《AndroidCTStest安装和命令V11.docx(21页珍藏版)》请在冰豆网上搜索。
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文件(注意使用主文件),打开,在
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/ 解压缩后,找到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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AndroidCTStest 安装 命令 V11