1、 application 能运行在该平台下。通过了 CTS 验证,需要将测试报告提交给 Google,已取得 androidmarket的认证。CTS 是一款通过命令行操作的工具。目前 cts 没有提供 windows 版本,只能在 Linux 下测试。本文将详细介绍在ubantu系统上如何搭建CTS环境,以及运行测试计划和分析测试结果。二、 Android CTS测试环境搭建1. 下载android-SDK linux版本,下载地址:2. 下载android-cts包,下载地址:根据手机系统版本下载对应版本的cts包,否则将无法运行测试3. jdk的安装:在ubuntu系统中打开终端,输入命
2、令:$ sudo add-apt-repository deb lucid partner$ sudo apt-get update$ sudo apt-get install sun-java6-jdk$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so4. 将android-sdk和android-cts解压放置在同一个文件夹5. 在CTS/tools中修改脚本设置环境变量进入android-cts/tools目录下,修改startcts文件,将脚本中的SDK_ROOT改成自己的
3、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 /androidsdklinux/platformtools:/home/ jackmiao/CTS /androidcts/tools:其中红色部分为sdk和cts工具的路径请根据自己的实际路径创
4、建三、 Android-CTS测试的几个概念在进行 CTS 测试之前,先阐述 CTS 测试中几个概念:Plan(Plan):测试计划,Testpackage 的集合,每个 Plan 中都包含若干个测试包以android cts 2.2版本为例,总共有8个测试计划CTS:包含2万多个测试用例,这些测试用例是检验兼容性必须的,性能测试不包含在本计划中,随版本的更新,本测试计划也会更新。Signature:包含所有针对公有APIs的署名测试Android:包含针对android APIs的所有测试Java:包含所有针对Java核心library的测试VM:包含对虚拟机的所有测试RefApp:包含针对
5、参与应用程序的所有测试,随版本的更新,本测试计划也会更新Performance:包含所有针对性能的测试,随版本的更新,本测试计划也会更新AppSerurity:针对Application安全性的测试Package(Package):测试包,Testcase的集合case:测试用例,Test 的集合 Test:测试,每一个测试对应一个或者多个 InstrumentationTest InstrumentationAndroid 测试环境的核心是一个 Instrumentation 框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用 Instrumentation,你可以在主程序启动之
6、前,创建模拟的系统对象,如 Context;控制应用程序的多个生命周期;发送 UI 事件给应用程序;在执行期间检查程序状态。Instrumentation 框架通过将主程序和测试程序运行在同一个进程来实现这些功能。 Result_Type:CTS 的测试结果可以通过命令查阅,也可以通过浏览器查看下结果文件命令查阅结果:其中 Testresult 有四种类型的值:Pass, Fail, Timeout, NoExecuted浏览器查看 testResult.xml.路径: /androidcts/repository/results/上图为performanceplan所包含的Testpacka
7、ge的测试结果,可以看到每个测试包的测试情况,详细的测试结果分析我们将在 CTS测试结果分析中介绍,这里主要让大家明确 result_type 的含义。四、 终端测试前准备1. 检测手机是否连接上电脑打开终端输入命令:adb devices ,连接上这会显示设备ID,如果未连接上则会以?代替,此时可以通过输入以下命令进行连接$ adb kill-server$ sudo adb start-server$ adb devices2. 手机端安装CtsDelegatingAccessibilityService.apk此包位于android-cts/repository/testcases下面。
8、可以将安装包拷贝到手机后安装也可通过打开终端输入命令。输入命令方法:先定位到plantform-tools文件夹,cd cts/android-sdk-linux/platform-tools然后再输入安装命令:./adb install /安装包的路径/CtsDelegatingAccessibilityService.apk安装好后设置进入手机设在菜单:SettingAccessibilityDelegatingAccessibilityService1) 语言设置为English 2) 去掉锁屏(Settings Security & location &securitySet up s
9、creen locknone )3) 设置屏幕超时为最长时间30分钟(SettingsDisplayScreen timeout30minutes)4) 设置唤醒状态(SettingsApplicationsDevelopmentStay awake)5) 设置虚拟地点(Settings Application Development Allow mock locations is set)6) 运行时让屏幕是home主界面上7) 运行过程中不要触摸屏幕及按钮8) 手机时间设置正确9) 有SD卡并是清空五、 测试命令的执行1. 进入CTS测试环境开启终端输入命令: startcts / 注意权
10、限问题如果权限不够的话输入:sudo ./startcts输入用户密码当出现Androidversion2.2_r1Device(s5830f1188529)connectedcts_host就代表已经进入CTS测试环境2. CTS测试的方法 查看测试计划Ls -plan 查看测试包Ls -p 运行测试计划startplan test_plan_name举例:运行VM测试计划输入命令:-plan VM 运行测试计划下的测试包 test_plan_name p/packageplan_package_name举例:运行Java计划下的android.core.tests.archive测试包 运
11、行测试计划下测试包中的某个测试项Start plan test plan namet plan_package_name.class_name#plan_package_test_name运行Java计划下android.core.tests.archive包下的test_tostring测试项 指定某个设备上运行摸个测试计划中的测试包-plan test_plan_name d/-devicedevice_ID指定设备ID号为1234567890ABCDEF运行VM测试计划 查看测试结果 Ls r 查看某个session的测试记录ls -r/-result -s/-session sessi
12、on_id ls r s 33. CTS详细命令 Host: help: 查看帮助信息 exit: 退出 Plan: ls -plan: 列出所有的测试包 ls -plan plan_name: 查看测试方案 add -plan plan_name: 新建一个测试方案 add -derivedplan plan_name -s/-session session_id -r/-result result_type: derive a plan from the given session rm -plan plan_name/all: remove a plan or all plans fro
13、m repository start -plan test_plan_name: 运行一个测试方案 start -plan test_plan_name -d/-device device_ID: run a test plan using the specified device start -plan test_plan_name -t/-test test_name: run a specific test start -plan test_plan_name -p/-package java_package_name: 运行一个特定的java测试包 start -plan test_p
14、lan_name -t/-test test_name -d/-device device_ID: 用指定的device运行一个特定的测试方案 start -plan test_plan_name -p/-package java_package_name -d/-device device_ID: run a specific java package using the specified device Package: ls -p/-package: list available packages ls -p/-package package_name: list contents of
15、 the package with specified name add -p/-package root: add packages from root to repository rm -p/-package package_name/all: remove a package or all packages from repository Result: ls -r/-result: list all result of sessions ls -r/-result -s/-session session_id: list detail case result of a specifie
16、d session ls -r/-result pass/fail/notExecuted/timeout -s/-session session_id: list detail cases of a specified session by the specified result. History: history/h: list all commands in command history history/h count: list the latest count records in command history history/h -e num: run the command
17、 designated by num in command history Device:ls -d/-device: list available devices4. Android-CTS用户指南网址:六、 测试结果分析Android-CTS运行后会产生一测试报告,测试报告以开始的日期+时间命名,如2011.12.21_12.09.44, 一般只要查看testresult.xml文件就可对测试结果进行分析。由于CTS测试所需要花的时间比较长,当对测试进行调试时可针对的进行测试可节约大量时间。以下将介绍几种常用的方法: 查看整体测试概览 查看具体测试包测试例执行情况 测试fail项查看失败细节 测试调试首先确定是哪个测试包出现失败,然后针对该测试包进行重新测试$adbinstall /andandroidcts/package.apkshellpmlistinstrumentation pm 用于管理 package,看当前机器安装了什么用例aminstrumentwandroid.tests.sigtest/.InstrumentationRunner 定位某个测试失败项进行单独运行注意寻找class_name,可从测试报告中找到
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1