qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

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_android4\cts\tests\res
  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\tools\vm-tests-tf\src\dot\junit\opcodes下)
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\repository\plans下创建一个名为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

posted on 2014-07-28 09:32 顺其自然EVO 阅读(2608) 评论(0)  编辑  收藏 所属分类: 测试学习专栏android


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜