CTS添加新测试用例步骤-阿里云开发者社区

开发者社区> 青衫无名> 正文

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


最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Qt .pro文件之defineReplace函数的用法,实现lib文件名自动添加后缀“d“
Qt .pro文件之defineReplace函数的用法,实现lib文件名自动添加后缀“d“
36 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8410 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10193 0
【DATAGUARD】 基于同一个主机建立物理备库和逻辑备库 (四)--添加一个物理dg节点
【DATAGUARD】 基于同一个主机建立物理备库和逻辑备库 (四)--添加一个物理dg节点   BLOG文档结构图             ...
1418 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12043 0
+关注
3598
文章
840
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载