美文网首页
CTS中自定义(新增)一项测试计划Plan

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

作者: 一叶一声秋 | 来源:发表于2016-09-22 11:23 被阅读643次

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

    plans目录

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

    xml内容

    可以看到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;"
    
    1. 包含/不包含一个测试类下的某些用例,类名和用例名之间使用#连接,多个项之间用分割
        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

    相关文章

      网友评论

          本文标题:CTS中自定义(新增)一项测试计划Plan

          本文链接:https://www.haomeiwen.com/subject/hzrzettx.html