cts测试文档
- 格式:docx
- 大小:2.43 MB
- 文档页数:8
android cts测试原理Android CTS(Compatibility Test Suite)是一套用于测试Android设备和ROM兼容性的测试工具。
它主要包括两部分,一部分是CTS 测试套件,另一部分是CTS Verifier测试套件。
CTS测试套件用于验证Android设备是否符合Android兼容性要求,而CTS Verifier测试套件则用于验证设备是否支持特定功能和硬件。
CTS测试原理基于黑盒测试方法,即只关注输入和输出,而不关注内部实现细节。
在测试过程中,CTS会模拟各种使用场景和用户操作,如调用API、启动应用、发送短信等,然后验证设备的响应是否符合预期。
CTS测试的基本原理如下:1. 定义测试用例:CTS测试套件包含了大量的测试用例,涵盖了Android系统的各个方面,如权限管理、网络连接、媒体播放等。
这些用例是按照Android兼容性要求编写的,旨在验证设备是否满足标准规范。
2. 运行测试用例:CTS测试套件会自动运行所有测试用例,并记录测试结果。
测试过程中,CTS会模拟各种场景和用户操作,如点击按钮、输入文字等,以模拟真实使用情况。
3. 验证测试结果:测试完成后,CTS会对测试结果进行验证。
如果所有测试用例都通过了验证,则设备被认为是兼容的;如果有任何一个测试用例未通过验证,则设备被认为是不兼容的。
CTS测试的目的是确保Android设备和ROM的兼容性,保证用户在不同的设备上都能获得一致的使用体验。
通过CTS测试,厂商可以确保自己的设备符合Android的标准规范,并能够顺利通过Google 的认证。
总结一下,Android CTS测试原理基于黑盒测试方法,通过运行测试用例并验证测试结果,来确保Android设备和ROM的兼容性。
这个测试过程是自动化的,涵盖了Android系统的各个方面,旨在验证设备是否满足Android的标准规范。
通过CTS测试,厂商可以确保自己的设备符合Android标准,并能够通过Google的认证。
CTS测试规范目录一、测试版本说明:..................................................................................... 错误!未定义书签。
二.测试前准备工作步骤:.. (3)三.测试步骤: (4)四.测试结果: (4)五.常见问题: (5)一.测试前准备工作步骤:1.编译:可以取编译好的包,也可自己编译source ./build/envsetup.shchoosecombomake -j4make ctsmake sdk2.修改startcts文件:进入android/out/host/linux-x86/cts/android-cts/tools目录下,修改startcts文件。
将脚本中的SDK_ROOT该成自己的编译好的SDK路径,如:SDK_ROOT=/home/tester/cts/android-sdk-linux_863. 在手机上安装CtsDelegatingAccessibilityService.apk:此包位于../android-cts/repository/testcases下面。
如:./adb install -r /home/tester/cts/android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk安装好后设置:Settings > Accessibility > Accessibility > Delegating Accessibility Service4.为了避免一些没必要的错误,在测试前先更改一下手机设置:1)手机语言设置为English2)去掉锁屏(Settings > Security & location &security>Set up screenlock>none )3)设置屏幕超时为最长时间30分钟(Settings>Display>Screentimeout>30minutes)4)设置唤醒状态(Settings>Applications>Development>Stay awake)5)设置虚拟地点(Settings > Application > Development > Allow mocklocations is set)6)运行时让屏幕是home主界面上7)运行过程中不要触摸屏幕及按钮8)手机时间设置正确9)有SD卡并是清空二.CTS组成:在Android2.2的CTS中包含8个可用的Test Plan:1.CTS:包含2万多个测试用例,这些测试用例是检验兼容性必须的,性能测试不包含在本计划中,随版本的更新,本测试计划也会更新。
CTS测试总结一、测试前的准备(环境搭建)下载CTS工具(1)下载google发布的CTS工具(一般采用此种方法)下载路径为:/compatibility/downloads.html根据需要下载不同的版本。
(2)下载编译源码获取CTS工具在linux下进入android源码根目录,输入以下命令source build/envsetup.shmake cts编译好的cts生成的文件位于:out/host/linux-86/下。
(3)下载相对应的sdk工具2 .配置startcts文件进入android-cts/tools目录下,修改startcts文件。
将脚本中的SDK_ROOT改成自己的android SDK路径,如:SDK_ROOT=/home/test/CTS/SDK3.在设备上安装CtsDelegatingAccessibilityService.apk此apk位于android-cts/repository/testcases下,如下安装:adb install -r CtsDelegatingAccessibilityService.apk。
安装好后设置:Settings > Accessibility > Accessibility > Delegating Accessibility Service4.为了避免没必要的错误,需要做一些设置,具体情况不一样:(具体在后面)二、执行测试执行startcts脚本。
在执行CTS测试计划时(执行一段时间后,大于5分钟)会出现没有足够权限启动devices,使用$sudo./startcts可解决该问题出现如下提示符表示启动cts并连接设备成功。
(红色部分未deviceID,视设备号而定)AndroidCTS version 2.1_r2Device(CB511KADGR)connectedcts_host> cts_host >在“cts_host>”提示符下输入命令,以下为几个常用的命令help查看所有exit退出ls-p列出所有的测试包ls--plan列出所有的测试方案start--plan plan_name运行一个测试方案,如:start--plan CTSstart--plan plan_name -p package_name//运行一个特定的测试包,如:start--plan CTS -p android.bluetoothstart --plan CTS -t android.app.cts.AlertDialogTest#testAlertDialog//只运行某个用例包中的某个用例三、查看测试报告运行测试时,在CTS运行界面能看到测试报告与运行状况。
android兼容性测试CTS测试过程(实践测试验证通过)写这个博客的时候是为了记忆,建议⼤家还是看官⽅的说明,官⽅说的很清楚,不想把官⽅⼤段⼤段的拷贝到这⾥,官⽅的的确说的很清楚:⼀、Android的CTS测试,英⽂为Compatibility Test Suite,意为兼容性测试。
只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限;Android的CTS⽬的与意义:⽤户在android系统中有更好的⽤户体验,并且展⽰android应⽤的优越性,使得android开发者更容易编写⾼质量的andorid程序。
⼆、CTS是兼容性测试,Google为了防⽌⼚商对Android的改动影响其SDKAPI的兼容性,即第三⽅应⽤程序安装到该⼚商的机器上都能正常运⾏;这个差不多是⾃动跑的,会测试硬件(⽐如GPS,WIFI),还有其他⼀系列的东西,跑完之后会出⼀份详细的报告,告诉你哪些地⽅没通过。
三、我们实际使⽤CTS的过程中,很可能需要根据特定的要求,来定制⾃⼰的TestPlan。
这时就需要⾃⼰编译CTS官⽅说明Compatibility Test SuiteWhat is the purpose of the CTS?The Compatibility Test Suite is a tool used by device manufacturers to help ensure their devices are compatible, and to report test results for validations. The CTS is intended to be run frequently by OEMs throughout the engineering process to catch compatibility issues early. What kinds of things does the CTS test?The CTS currently tests that all of the supported Android strong-typed APIs are present and behave correctly. It also tests other non-API system behaviors such as application lifecycle and performance. We plan to add support in future CTS versions to test "soft" APIs such as Intents as well.CTS是⼀个免费的,商⽤级的测试套件,可供下载,CTS运⾏于台式机的直接连接的设备或仿真器,并执⾏测试⽤例。
CTS 认证背景:首先明确Android系统版本,不同版本需要下载对应CTS和CTS Verifier包,详见3.1。
例如东芝L5450C机型,使用RTD2993机芯,基于Android4.2系统。
方案商:Realtek机芯提供商:泰霖本文以RTD2993为例,RTD2993已通过Google CTS认证。
目的:用于CTS认证参考。
包含:CTS测试、合作方式、CTS认证流程等。
目录目录CTS 认证 (1)背景: (1)目的: (1)目录 (2)一合作方式 (3)二测试环境和工具 (4)三CTS测试 (5)3.1 RT2993测试 (5)3.2遇到的问题 (7)3.3失败项和解释 (8)四CTS Verifier测试 (10)4.1 RT2993 测试 (10)4.2 遇到的问题 (10)4.3 失败项和解释 (11)一合作方式方案商(Mstar、MTK、Realtek等)维持系统公版软件CTS状态,ODM和外协厂(泰霖等)确保后续软件更改不影响CTS认证,并负责测试CTS和CTS Verifier,然后出测试报告给客户(东芝、三洋等),最后客户使用对应的软件版本和测试报告到Google获取CTS证书。
在东芝第一次向Google申请CTS认证时期(2星期~4星期),东芝要求不要改动Android 部分,可以更改TV部分。
当第一次获取CTS证书后,每次的升级版本必须再次向google取得认证,时间缩短到一周内。
向Google提交的报告:CTS测试报告(包含自动生成的测试报告和未通过项的解释)CTS Verifier 测试报告在进行CTS认证前,东芝会进行CTS测试项的核对。
如下面文档描述:RTD2993 CDD checksheet with comment_1二测试环境和工具测试电脑:需安装Ubuntu系统(推荐12.04,需安装SDK和Java JDK)。
需要串口线一根、网线一根。
CTS测试工具包和CTS verifier测试apk。
CTSCts的目的:让APP提供更好的用户体验。
用户可以选择更多的适合自己设备的APP。
让APP更稳定。
让开发者设计更高质量的APP。
通过CTS的设备可以运行Android market。
得到cts有2个方法:1、编译源码得到cts 路径为:源码目录/out/host/linux-x86/cts/2、从网上下载cts 路径为:你下载的目录CTS步骤:(以i600w为例)准备工作:①、CTS工具编译得到cts1、从远程上拉i600w代码2、进入目录cd MSM8x25-ICS-AP3、初始化编译环境:source build /envsetup.sh4、选择编译策略:choosecombo 1 18 35、编译cts:make cts②、配置adb环境③、测试对象(模拟器和真机都行)1、进入settings->Privacy->Factorydata reset,对平台进行reset一次2、平台插入一张空的TF卡3、平台安装两个APK:CtsDelegatingAccessibilityService.apk,CtsDeviceAdmin.apk4、进入settings打开Wi-Fi并连接AP (AP需要连外网)5、进入settings->Security->Screenlock设为None6、进入settings->Security->EnableUnknown sources7、进入settings->Security->Deviceadministrators->Enable两个选项8、进入Language&input->language设为English(UnitedStates)9、进入settings->Display->Sleep设为30minutes或None10、进入settings->Accessibility->EnableDelegating Accessibility Service11、进入settings->Developeroptions->Enable USB debugging、Stay awake、Allowmocklocations12、PC上copy“android-cts-media-1.0”,在android-cts-media-1.0文件下输入./copy_copy_media.sh运行脚本,将media文件copy进平台。
Cts测试Android的CTS测试,英文为Compatibility Test Suite,意为兼容性测试。
只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限。
以下分享我对Android CTS的认识。
一、取得Compatibility Test Suite的两种方法:(1)可以从/compatibility/downloads.html下载最新版本的Compatibility Test Suit;(2)也可以通过编译Android源代码的方式获得。
在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。
这个文件夹就是 Compatibility Test Suit。
二、运行CTS的方法,步骤如下:(1)进入目录android-cts,该目录是通过上面那两种方法获得的。
在android-cts目录下会有3个文件夹,其中一个是tools。
(2)进入tools目录,输入./startcts来启动CTS。
(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android 的版本是2.3的)。
如果有连接设备到PC上还会出现Device(设备ID)connected 的字样。
这里设备可以是连接PC的android的机器,也可以是模拟器。
三、CTS测试的方法:(1)在cts_host>下敲入help,会显示cts下的许多命令。
ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、 AppSecurity。
其中Performance这个方案是google暂不要求的。
Java、Signature、Android、VM、 RefApp、Appsecurity方案都是CTS方案的子集。
(完整)CTS测试环境搭建介绍编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)CTS测试环境搭建介绍)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)CTS测试环境搭建介绍的全部内容。
CTS测试环境搭建介绍CTS 全称Compatibility Test Suite兼容性测试工具。
当电子产品开发出来,并定制了自己的Android系统后,必须要通过最新的CTS检测,以保证标准的android application能运行在该平台下。
通过了CTS验证,需要将测试报告提交给Google,已取得android market的认证。
CTS是一款通过命令行操作的工具。
目前cts没有提供windows 版本,只能在Linux下测试.在我们实际使用CTS的过程中,很可能需要根据特定的要求,来定制自己的Test Plan。
这时就需要自己编译CTS。
建立步骤如下:1。
下载CTS包http://source。
android。
com/compatibility/cts—intro.html2. 在手机或者模拟器上安装CtsDelegatingAccessibilityService。
apk$sudo ./adb install -r/cts/android-cts/repository/testcases/CtsDelegatingAccessibilityService.a pk3。
手机或者模拟器设置Settings->Accessibility->两个选项都选上;Settings > Application > Development 三个选项都选上;Settings 〉 Sound & Display 〉Screen Timeout should be set to “Nev er Timeout”;4。
CTS测试指导书注:此文档仅针对本公司测试需要编写1. CTS概述1.1.CTS简介CTS的英文全称是Compatibility Test Suite,即兼容性测试套件,是Google针对Android平台开发的兼容性测试套件。
表现为一套Google公司发布的开源自动化测试用例。
CTS用例,主要用来测试OEM厂商实现的Android平台是否符合Android的API接口定义。
1.2.CTS测试目的由于Android平台是开源的,所以任何人都可对其API接口与行为等进行修改。
为了保证Android平台的统一不被分裂,Google要求OEM厂商实现的Android平台必须通过这套兼容性测试用例。
具体来讲,CTS测试目的主要有以下几个方面:①保证Google自己或者第三方开发的应用程序可以正确运行在不同厂商实现的Android平台的终端上;②鼓励第三方开发者开发出更丰富和更高质量的基于Android平台的应用程序;③保证应用程序可以为用户提供更好的体验;④保证能够最有效地利用Android Market来发布其产品,维护Google自身利益。
2. CTS测试2.1.测试机系统的要求CTS测试手机系统最好是纯净系统,没有root、没安装第三方应用注:目前测试机系统都是root的,建议最终还是使用不带root的测试一遍,Google TA时都是用的户版本,系统不带root的报告2.2.手机设置①设置,显示,休眠中设置时间最长30分钟或者永不②设置,安全,屏幕锁定方式选择无③开启开发人员选项(如果隐藏的在关于本机里面多次连续点击版本号可以调出开发人员选项),并在开发人员选项中勾选保持唤醒状态、USB调试、允许模拟地址三项注:尚不确定所涉及的android.keystore包中的案例是否有需要连接外网才能测试,如果开发从log中发现需要连接网络,需要再想办法解决,很多是需要翻墙国外网络2.3.执行测试确定手机已连接上电脑后,新建终端,执行以下操作开启CTS测试程序cd android-cts/tools./cts-tradefed /执行程序cts-tradefed(或者直接将文件cts-tradefed拖入终端点击enter后)执行以下命令可以进行不同操作,此时在终端中输入help也会出现支持的命令结构run cts - -plan CTS --skip-preconditions /执行CTS完整用例包测试run cts -p 包名--skip-preconditions /执行某个用例包下的案例run cts -c 类名--skip-preconditions /执行某个用例类run cts -c 类名-m 用例名--skip-preconditions /执行某一条用例run cts --plan CTS --skip-preconditions --force-abi 64 --wifi-ssid注:①--skip-preconditions是跳过预置条件判定,测试需要连接到--force-abi 64 仅执行64位用例包②下图中123分别是包名、类名、用例名③执行完毕终端中会有说明pass * failed * notExecuted *2.4. 报告和log查看处理2.4.1.CTS报告处理1、CTS报告在路径android-cts\repository\results,可以根据日期来对应查看当次执行的报告,建议每次执行前将之前得无用报告删除掉,以免混淆。
CTS 测试使用文档修订历史一、简介Android CTS (Compatibility Test Suite)是google提供的Android兼容性测试工具.手机设备需要通过Android的兼容性测试(CTS),以确保在android上开发的程序在手机设备上都能运行,才能使用android market源码里包含cts,位置在$ANDROID/cts目录下(android2.1以后版本)二、编译与运行CTS编译CTS1、下载Android-2.3系统,并编译。
$ . build/envsetup.sh //配置选项,并编译android源码$ make cts //android源码编译好后,在编译cts此时生成测试计划,测试包,测试用例,和测试报告生成的目录∙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注:在运行前必须1: #su root(切换到root权限执行,因为cts执行需要的root权限访问一些内容)2: #. Build/envsetup.shChoosecombo 1 1 5 3 //Make出完整版本其中1 1 5 3指下列信息renquan@lenovo:~/apollo$ choosecomboBuild for the simulator or the device?1. Device2. SimulatorWhich would you like? [1] ------------->按enter键Build type choices are:1. release2. debugWhich would you like? [1] ------------->按enter键Product choices are:1. core2. full3. generic4. generic_x865. msm7630_surf6. sdk7. simYou can also type the name of a product if you know it.Which product would you like? [generic] 5 ------------->选择5 按enter键Variant choices are:1. user2. userdebug3. engWhich would you like? [eng] ------------->选择3 按enter键运行CTS$ cd $MYDROID/out/host/linux-x86/bin/$ ./cts运行整个cts测试$cts_host > start --plan CTS测试结果在mydroid/out/host/linux-x86/cts/android-cts/repository/results 目录下,以网页显示所有测试结果,如下图所示三、CTS详细测试与分析(这部分感兴趣可做代码跟踪分析,不要求)Cts运行cts log信息部分如下:android.app.cts.ActivityTestsBase:.android.hardware.cts.CameraTest:Failure in testAccessParameters:junit.framework.AssertionFailedErroratandroid.hardware.cts.CameraTest.assertParameters(CameraTest.java:560)atandroid.hardware.cts.CameraTest.testAccessParameters(CameraTest.java:508)at ng.reflect.Method.invokeNative(Native Method)atandroid.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)atandroid.test.InstrumentationTestCase.access$000(InstrumentationTestCase.java:36)atandroid.test.InstrumentationTestCase$2.run(InstrumentationTestCase.java:184)atandroid.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1465)at android.os.Handler.handleCallback(Handler.java:587)at android.os.Handler.dispatchMessage(Handler.java:92)at android.os.Looper.loop(Looper.java:123)at android.app.ActivityThread.main(ActivityThread.java:4735)at ng.reflect.Method.invokeNative(Native Method)atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)at dalvik.system.NativeStart.main(Native Method)...Failure in testJpegThumbnailSize:junit.framework.AssertionFailedErroratandroid.hardware.cts.CameraTest.testJpegThumbnailSize(CameraTest.java:687)………省略Test results for InstrumentationTestRunner=..F....F.F.....F...F..E.F..E.Time: 33.907FAILURES!!!Tests run: 21, Failures: 6, Errors: 2Cts提供了测试的源代码比如camera,测试代码位于#/home/xiaoyang/workcode/master-lephone-plat/cts/tests/tests/hardware/src/andro id/hardware/ctsCameraTest.javaCamera_ParametersTestSensorTest.java…根据测试log信息,assertParameters(CameraTest.java:560)找到源文件代码报错位置在测试代码中打开LOGV开关Log.v(TAG, "xxxxxxxx");加入调试信息在代码中加入调试信息,同时可以再打开其它窗口运行logcat/dmesg查看其它信息来定位:$ ./adb shell logcat –V time抓dmesg log$ ./adb shell dmesg 或者 $cat proc/kmsg查看用户空间信息四、Q/AQuestion:运行不正常xiaoyang@xiaoyang-desktop:~/workcode/master-lephone-plat/out/host/linux-x86/bin$ ./cts Android CTS version 2.2_r1Device(1234567890ABCDEF) connectedcts_host > cts_host > start --plan CTSException in thread "Timer-0" ng.NullPointerExceptionat com.android.cts.TestDevice$PackageActionTimeoutTask.run(TestDevice.java:1019)at java.util.TimerThread.mainLoop(Timer.java:512)at java.util.TimerThread.run(Timer.java:462)start test plan CTSCTS_INFO >>> Checking API...CTS_INFO >>> This might take several minutes, please be patient... uninstall met failureAPI Check TIMEOUT.(timeout)CTS_INFO >>> Max ADB operations reached. Restarting ADB...CTS_INFO >>> Restarting device ...Device(1234567890ABCDEF) disconnected原因:用户权限解决方法:在host上运行手机设备调试,转为root权限执行./cts。
CTS测试配置及步骤
配置
0.确保版本正确,版本必须使用user版本
1.开启wifi并连接
2.打开数据连接
3.睡眠时间和字体大小设置,
设置-显示-休眠,选择最长休眠时间,字体大小选择普通
4.锁屏及设备管理器设置
设置-安全-屏幕锁定,选择“无”,安装CtsDeviceAdmin.apk之后,进入设备管理器,激活与CtsDeviceAdmin相关的两个子项,
5.设置-开发者选项,勾选上以下三项:不锁定屏幕,USB调试,允许模拟位置
6.点开联系人app,设置我的资料(set my prefile),进入设置个人信息界面,只需要设置电话(phone)为测试用的sim卡号即可,sim卡使用中国联通。
7.设置-日期和时间-选择时区
4.4系统选择太平洋时区Pacific Daylight Time
4.2系统选择GMT+00:00
8.拷贝媒体文件
193服务器:切换到/home/chivin/android-cts-media-1.0目录下,执行./copy_media.sh,拷贝完所有文件后,执行adb shell,然后执行sync动作,即命令:sync
186服务器:切换到/share/zhengji/android-cts-media-1.0 目录下,执行以上相同动作。
221服务器:切换到/home/chivin/workspace/CTS4.4/android-cts-media-1.0 目录下,执行以上相同动作。
9.写入正规IMEI号,不能随意写,可通过上市的手机查看正规的IMEI号,将其写入即可,以hp项目为例:
IMEI : 863812025002670
S/N : CNU417BNG2
IMEI : 863812025002647
S/N : CNU417BNGL
S/N号根据项目需求
10.disable 设置-安全-受信任的凭据下的两个China Mobile Communications Corp.
11.语言设置为英语
12.设置usb连接方式为connect as acamera(PTP)
测试步骤
2.首先切换到cts测试工具所在目录,执行source env.sh
命令行会出现:cts-tf >
这种状态下,可根据需求进行cts测试
2.整机:cts-tf > run cts –plan CTS
出现Detected new device 0123456789ABCDEF,
Created result dir 2014.04.29_15.20.17
04-29 15:20:23 I/0123456789ABCDEF: Collecting device info
04-29 15:20:24 I/0123456789ABCDEF: -----------------------------------------
04-29 15:20:24 I/0123456789ABCDEF: Test package android.aadb started (开始测试第一个测试包),
之后,看到有些pass项出来后,
android.permission.cts.FileSystemPermissionTest#testAllBlockDevicesAr eSecure PASS
04-29 15:20:26 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testAllCharacterDevic esAreSecure PASS
04-29 15:20:28 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testAllFilesInSysAreN otWritable PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testAllOtherDirectori esNotWritable PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testAndroidRootDirect oryNotWritable PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testApplicationParent DirectoryNotWritable PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testBcm2079xSane PASS 04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testBcm2079xi2cSane PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testCreateDirectoryHa sSanePermissions PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testCreateFileHasSane Permissions PASS
04-29 15:20:35 I/0123456789ABCDEF: android.permission.cts.FileSystemPermissionTest#testDataDirectoryNotW ritable PASS
说明已经进入CTS整机测试,以上pass项非Test package android.aadb中的pass项,例举只是说明过程。
2.测试单个包:run cts –p xxx (xxx为包名)
例如,测试以下fail项:
cts-tf > run cts –p
3.测试单个类:run cts -c yyy (yyy为类名)
cts-tf > run cts –c .URLConnectionTest
4.测试类中的某一个方法:run cts -c yyy -m zzz (zzz为类中的某一个方法)
cts-tf > run cts -c .URLConnectionTest –m test_getOutputStream
5.在跑完一整份cts后,
5.1 如果testResult.xml文件中只有pass和fail项,
需要在其基础上跑fail项,而不需要跑pass项的话,则需要切换到该份报告所在目录,执行sed命令:
sed -i "s/\(<FailedScene\)/\1\n/;s/\(FailedScene>\)/\1\n/;/<FailedScene/,/FailedScene>/d;s/\"fail\ "/\"notExecuted\"/" testResult.xml
此命令会将测试报告中的所有fail项修改为notExcuted项,之后,在测试包目录下执行soure env.sh,
在出现cts-tf>后,执行 l r,
以显示所有的测试结果列表,如下:
找到需要继续测试fail项的cts报告的id,例如:29,然后执行以下命令:run cts –continue-session 29 如下:
之后,会继续跑fail项,而不会跑pass的项。
5.2 如果testResult.xml文件中有pass、fail,notExcuted项,
则先继续测完notExcuted项,例如:run cts –continue-session 54,54为测试报告id;过程如下:
待跑完,只剩下pass和fail项,则重复5.1操作。
注:
以上每一项测试都会在相应服务器上的cts测试包下产生一个结果文件夹,此文件夹以测试开始时间命名,文件夹里面的testResult.xml文件即为最终结果,可通过Firefox浏览器(或者其他工具)查看里面的结果。
各个服务上测试结果产生路径:
193服务器产生路径:/home/chivin/workspace/CTS4.4/android-cts-4.4_r1.95_arm/android-cts-4.4_r1.95 _arm/android-cts/repository/results
186服务器产生路径:
/home/liujihui/android-cts-4.4_r1.95_arm/android-cts/repository/resu
lts
221 服务器产生路径:
/home/chivin/workspace/CTS4.4/android-cts-4.4_r1.95_arm/android-cts-4.4_r1.95_arm/android-cts/repository/results。