zoukankan      html  css  js  c++  java
  • CTS添加新测试用例步骤

     

    一、CTS添加新测试用例:

    前言:

    google源代码中的cts测试用例集目录为:source_android4.2/cts/tests/tests/ (source_android4.2表示android4.2代码存放路径),该目录下有一个测试用例集example文件夹;下面就以这个用例集为例,讲述怎样编写自己的cts测试用例集;

    结构如下:

    example

    ├── AndroidManifest.xml

    ├── Android.mk

    └── src

        └── android

            └── example

                ├── cts

    步骤:

    1、    在cts/tests/tests/目录下创建一个自己的用例集(文件夹)名称XXX;

    2、    在该文件夹中构建如下结构:

    XXX

    ├── AndroidManifest.xml(可以拷贝example下该文件)

    ├── Android.mk(可以拷贝example下该文件)

    └── src

        └── android

            └──XXX

                 └── cts

    3、    编写测试代码

    前提:

    判断测试的接口或类是属于修改了原生代码中的哪个包下面的类(可以参考google文档:http://developer.android.com/intl/zh-CN/reference/packages.html);

    然后在source_android4.2/cts/tests/tests/目录下找到对应的测试包,参考其代码的编写;

    具体操作:

    在src/android/XXX/cts目录下添加自己的用例;(XXX为自己的测试用例集的名称,例如:yunos)

    细节说明:

    1、google官方cts测试用例中,对一个类进行测试时,并没有对该类的所有方法进行测试,而是测试了该类中使用最频繁的一些方法;所以我们自己编程测试用例时,也可以按照这样的原则进行操作;

    2、对于“窗口控件类”中使用的的res资源文件的目录在source_android4cts ests es

    3、最好是在eclipse中编写,需要res文件的,可以先拷贝到当前工程下,这样可以通过eclipse检查编程中的语法错误;

    4、包名的格式:package android.XXX.cts;

    4、    修改XXX/目录下的Android.mk文件

    LOCAL_PACKAGE_NAME := CtsXXXTestCases(这个变量是定义自己的测试用例集的名称;编译后会生成同名的APK文件)

    LOCAL_INSTRUMENTATION_FOR := CtsTestStubs(这个变量定位的是一些涉及到虚拟机的测试用例,使用junit框架;TestStubs这个类在目录cts oolsvm-tests-tfsrcdotjunitopcodes下)

    5、修改XXX/目录下的AndroidManifest.xml文件

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.android.cts.XXX">

        <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

        <application>

            <uses-library android:name="android.test.runner" />

            <activity android:name=”android.XXX.cts.activity的名称”/>(说明:这个是测试activity时容易忽略的地方)

        </application>

        <instrumentation android:name="android.test.InstrumentationCtsTestRunner"

                         android:targetPackage="com.android.cts.stub"

                         android:label="CTS tests of android.XXX"/>

    </manifest>

    6、修改source_android4.2/cts目录下的CtsTestCaseList.mk;(重要

    在该文件中给变量cts_test_packages追加自己测试用例集名称CtsXXXTestCases

    说明:该文件在编译的时候会被build/core/tasks/cts.mk调用,生成最终的CTS包。

    对CtsTestCaseList.mk文件说明:

    CTS_COVERAGE_TEST_CASE_LIST(核心变量)

    ├── cts_support_packages(该变量包含的是测试依赖的一些用例,其对于代码目录为cts/hostsidetests)

               ├──CtsAccelerationTestStubs

    ├──CtsDelegatingAccessibilityService

    ├──CtsDeviceAdmin

    ├──CtsMonkeyApp

    ├──CtsMonkeyApp2

    ├──CtsSomeAccessibilityServices

    ├──CtsTestStubs

    ├──SignatureTest

    ├──TestDeviceSetup

    ├──$(cts_security_apps_list)

    ├── cts_test_packages(该变量对应的是cts/tests/tests/目录下的测试用例)

    二、编译自己的cts

    执行make  cts  -j4

    三、在真机上进行测试

    由于完整进行cts测试要很长时间,所以我们可以自己创建一个测试计划,步骤如下:

    1、将cts包解压,在android-cts epositoryplans下创建一个名为XXX的xml文件;

    2、这个xml文件格式为:

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

    <TestPlan version="1.0">

           <Entry uri="android.XXX"/>

     </TestPlan>

    3、进行cts测试时执行run  cts  -- plan  XXX

  • 相关阅读:
    tarjan——强连通分量+缩点
    题解报告——Financial Crisis
    计算几何刷题计划(转)
    [bzoj1042] [HAOI2008]硬币购物
    [bzoj1584] [Usaco2009 Mar]Cleaning Up 打扫卫生
    bzoj 2783 JLOI2012 树
    bzoj 1150 [CTSC2007]数据备份Backup
    bzoj 1079 [SCOI2008]着色方案
    bzoj 2957 楼房重建
    bzoj 3208 花神的秒题计划I
  • 原文地址:https://www.cnblogs.com/LittleRedPoint/p/3421672.html
Copyright © 2011-2022 走看看