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

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名称###

CTS中自定义(新增)一项测试计划Plan_第1张图片
plans目录

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

CTS中自定义(新增)一项测试计划Plan_第2张图片
xml内容

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

  
    
      
      
      
     `   

说明:
Entry节点包括如下属性:

  • name属性 ---- 用于指定包名,比如“android,admin"
  • abi属性 ---- 用于指定abi,比如"armeabi-v7a"或则"arm64-v8a"等,不指定的话,默认全执行
  • include属性 --- 用于指定包含哪些测试
  • exclude属性 --- 用于指定不包含哪些测试
    其中,include属性和exclude属性的内容应当遵循以下格式:
  1. 包含/不包含某些测试类,多个项之间用分割
    include="包名.类A;包名.类B;"
    exclude="包名.类A;包名.类B;"
  1. 包含/不包含一个测试类下的某些用例,类名和用例名之间使用#连接,多个项之间用分割
    include="包名.类A#用例a;包名.类B#用例b;"
    exclude="包名.类A#用例a;包名.类B#用例b;"

举个例子,



    
    
    
    
    

3. 运行你的plan

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

run cts --plan MyPlan

你可能感兴趣的:(CTS中自定义(新增)一项测试计划Plan)