您的位置:首页 > 其它

CTS中自定义(新增)一项测试计划Plan

2016-09-13 14:12 190 查看

CTS中自定义(新增)一项测试计划Plan

查看官网并没有找到自定义plan的具体操作,只是告诉你可以新建,于是自己琢磨了下,发现还真能跑起来,下面说下方法:

说明: $android-cts指的是你在官网下的cts测试包,解压之后得到的路径,类似
...\android-cts-6.0_r8-linux_x86-arm\android-cts\
的这种格式,请自行替换

1. 进入
$android-cts\repository\plans
目录,里面有一堆的xml文件,这里面是CTS自带的plans,文件名为plans名称



2. 复制CTS.xml文件,并将文件名修改为MyPlan.xml,其中MyPlan即为你自定义的plan的名称,完成后使用任意的编辑器打开它



可以看到TestPlan节点里面有很多Entry节点,Entry节点的name字段即为测试的入口,其实也就是一个个测试包的包名,我们只需要仿造这个xml,进行填写,比如你需要测试的包名为android.app,android.admin,或者以及你自己编写的测试用例(假设包名为cxq.wifi),那么需要修改MyPlan.xml的内容为:

<?xml version="1.0" encoding="UTF-8"?>

<TestPlan version="1.0">

<Entry name="android.admin"/>

<Entry name="android.app"/>

<Entry name="cxq.wifi"/>

</TestPlan>


说明:

Entry节点包括如下属性:

- name属性 —- 用于指定包名,比如“android,admin”

- abi属性 —- 用于指定abi,比如”armeabi-v7a”或则”arm64-v8a”等,不指定的话,默认全执行

- include属性 — 用于指定包含哪些测试

- exclude属性 — 用于指定不包含哪些测试

其中,include属性和exclude属性的内容应当遵循以下格式:

1. 包含/不包含某些测试类,多个项之间用分割

include="包名.类A;包名.类B;"
exclude="包名.类A;包名.类B;"


包含/不包含一个测试类下的某些用例,类名和用例名之间使用#连接,多个项之间用分割

include="包名.类A#用例a;包名.类B#用例b;"
exclude="包名.类A#用例a;包名.类B#用例b;"


举个例子,

<?xml version="1.0" encoding="UTF-8"?>
<TestPlan version="1.0">
<Entry abi="armeabi-v7a" name="android.admin"/>
<Entry include="android.jni.cts.JniCTest;android.jni.cts.JniCppTest" name="android.jni"/>
<Entry exclude="android.provider.cts.BrowserTest;android.provider.cts.CalendarTest" name="android.provider"/>
<Entry include="android.os.cts.BuildVersionTest#testReleaseVersion;android.os.cts.BuildTest#testIsSecureUserBuild" name="android.os"/>
<Entry exclude="android.hardware.cts.CameraTest#testVideoSnapshot;android.hardware.cts.CameraGLTest#testCameraToSurfaceTextureMetadata;android.hardware.cts.CameraGLTest#testSetPreviewTextureBothCallbacks;android.hardware.cts.CameraGLTest#testSetPreviewTexturePreviewCallback" name="android.hardware"/>
</TestPlan>


3. 运行你的plan

进入cts-tradefed控制台,这一步不清楚的请参考android官网译文《Running CTS tests》-运行cts

在控制台下运行命令:

run cts --plan MyPlan
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息