安卓cts兼容性测试入门

本文介绍如何使用Android 4.4版本的兼容性测试套件(CTS)进行自动化及人工测试,包括CTS测试包的下载、安装、配置及运行等步骤,并详细解释了CTS命令的具体含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言   

    兼容性测试套件 (CTS) 是一个免费的商业级测试套件,需要测试的话首先得下载测试包,我现在使用的是安卓4.4版本的源码,所以下载测试包的时候也要下载对应版本的测试包,下载地址:https://source.android.com/compatibility/cts/downloads

Android 4.4

Android 4.4 是代号为 KitKat 的开发里程碑版本。Android 4.4 的源代码位于开放源代码树中的“android-cts-4.4_r4”分支中。

    Android 4.4 R4 兼容性测试套件 (CTS) - ARM
    Android 4.4 R4 兼容性测试套件 (CTS) - x86
    Android 4.4 R4 CTS 验证程序 - ARM
    Android 4.4 R4 CTS 验证程序 - x86

我用的是arm处理器,所以要下载arm的版本,测试套件分两部分,一部分是自动化测试,“Android 4.4 R4 兼容性测试套件 (CTS) - ARM” 是运行在PC端linux版的自动化测试套件,另一部分是人工测试,“Android 4.4 R4 CTS 验证程序 - ARM”是运行在安卓系统下面的测试程序,需要人工去一项项核对测试项。

二、自动化测试的测试套件使用方法

(1)前期准备

       需要下载安卓源码和linux内核,把linux内核和安卓源码都要编译一遍,然后最后还要编译cts的组件,编译方法如下:

. build/envsetup.sh
lunch smdk4x12-eng
make cts
(2)解压并配置好cts组件的位置

unzip android-cts-4.4_r4-linux_x86-arm.zip
修改 “android-cts/tools/cts-tradefed" 文件的配置信息 ,添加安卓源码的目录

ANDROID_BUILD_TOP="/home/topeet/Android/iTop4412_KK4.4_usbwifi"


三,运行cts测试

./android-cts/tools/cts-tradefed
然后再cts终端下输入针对cts兼容性的测试计划

run cts --plan CTS

测试计划是有很多种的

您可以选择以下测试计划:
    CTS - 兼容性所需的所有测试。
    Signature - 所有公开 API 的签名验证
    Android - 针对 Android API 的测试
    Java - 针对 Java 核心库的测试
    VM - 针对 ART 或 Dalvik 的测试
    Performance - 针对实施的性能测试



四、cts命令说明

 Host
	


help
	

showthis message

帮助文档

exit
	

exitcts command line

退出CTS



Plan
	


ls --plan
	

listavailable plans

列出所有Plan

ls --plan 【plan_name】
	

listcontents of the plan with specified name

列出一个Plan的内容

参数:plan_name,Plan的名称

add --plan 【plan_name】
	

adda new plan with specified name

添加一个Plan

参数:plan_name,Plan的名称

add --derivedplan 【plan_name】-s/--session【session_id】-r/--result【result_type】
	

derivea plan from the given session

创建一个新的的Plan,这个plan通过指定一个Test_Plan的结果序号和该结果中特定的结果类型。即取得指定结果中,某一类型的所有testcase来组成一个新的Plan

参数:plan_name,创建的新Plan名称

session_id,已有结果的一个ID

result_type,结果中,每个testcase

的结果类型取以下4

值之一:

pass/fail/notExecuted/timeout

注: 如果result_type为空,则默认为pass

如果session_id为空,则默认选取

最近的一次测试结果

rm --plan 【plan_name】/all
	

removea plan or all plans from repository

删除一个Plan

参数:plan_name,Plan的名称

参数为all时,删除所有的Plan

start --plan 【test_plan_name】
	

runa test plan

运行一个Plan

参数:test_plan_name,Plan的名称

start --plan 【test_plan_name】-d/--device【device_ID】
	

runa test plan using the specified device

在指定的设备上运行一个Plan

参数:test_plan_name,Plan的名称

device_ID,设备ID

start --plan 【test_plan_name】-t/--test【test_name】
	

runa specific test

运行某个Plan中的一个Test

参数:test_plan_name,Plan的名称

test_name,Test名称

start --plan 【test_plan_name】-p/--package【java_package_name】
	

runa specific java package

运行某个Plan中的一个java包,该包由若干个Testcase组成

参数:test_plan_name,Plan的名称

java_package_name包的名称

start --plan 【test_plan_name】-t/--test【test_name】-d/--device【device_ID】
	

runa specific test using the specified device

在指定的设备上运行某个Plan中的一个Test

参数:test_plan_name,Plan的名称

test_name,Test名称

device_ID,设备ID

start --plan【test_plan_name】-p/--package【java_package_name】-d/--device【device_ID】
	

runa specific java package using the specified device

在指定的设备上某个Plan中的一个java包,该包由若干个Testcase组成

参数:test_plan_name,Plan的名称

test_name,Test名称

device_ID,设备ID



Package
	


ls -p/--package
	

listavailable packages

列出所有的package

ls -p/--package 【package_name】
	

listcontents of the package with specified name

列出一个package的内容

参数:package_name,包的名字

add -p/--package root
	

addpackages from root to repository

将包从 root目录移到repository目录

rm -p/--package【package_name】/all
	

removea package or all packages from repository

删除一个package

参数:package_name,包的名字

当参数为all时,删除所有的package



Result
	


ls -r/--result
	

listall result of sessions

列出所有的结果

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

listdetail case result of a specified session

列出指定的结果

参数:session_id,结果的ID,通过ls–r

可以参阅结果的详细信息,包括ID

ls -r/--result【pass/fail/notExecuted/timeout]】-s/--session【session_id】
	

listdetail cases of a specified session by the specified result

列出一个结果所使用的全部Testcases,根据结果的详细信息。

参数:pass通过的test个数

fail未通过的test个数

notExecuted未执行的test个数

timeout超时的test个数

session_id结果的ID,通过ls–r

可以参阅结果的详细信息,包括ID



History
	


history/h
	

listall commands in command history

列出所有执行过的命令

history/h 【count】
	

listthe latest count records in command history

列出history中可选择的子命令

history/h -e 【num】
	

runthe command designated by 'num' in command history

通过指定执行过命令的集合中的序号执行一个命令。

参数:num,执行过的命令集合中的编号



Device
	


ls -d/--device
	

listavailable devices

列出所有连接的设备,并显示设备的详细信息:设备ID,设备name,设备status


参考资料:

1.android的cts官方说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值