CTS添加新測(cè)試用例步驟
前言:
google源代碼中的cts測(cè)試用例集目錄為:source_android4.2/cts/tests/tests/ (source_android4.2表示android4.2代碼存放路徑),該目錄下有一個(gè)測(cè)試用例集example文件夾;下面就以這個(gè)用例集為例,講述怎樣編寫自己的cts測(cè)試用例集;
結(jié)構(gòu)如下:
example
├── AndroidManifest.xml
├── Android.mk
└── src
└── android
└── example
├── cts
步驟:
1、 在cts/tests/tests/目錄下創(chuàng)建一個(gè)自己的用例集(文件夾)名稱XXX;
2、 在該文件夾中構(gòu)建如下結(jié)構(gòu):
XXX
├── AndroidManifest.xml(可以拷貝example下該文件)
├── Android.mk(可以拷貝example下該文件)
└── src
└── android
└──XXX
└── cts
3、 編寫測(cè)試代碼
前提:
判斷測(cè)試的接口或類是屬于修改了原生代碼中的哪個(gè)包下面的類(可以參考google文檔:http://developer.android.com/intl/zh-CN/reference/packages.html);
然后在source_android4.2/cts/tests/tests/目錄下找到對(duì)應(yīng)的測(cè)試包,參考其代碼的編寫;
具體操作:
在src/android/XXX/cts目錄下添加自己的用例;(XXX為自己的測(cè)試用例集的名稱,例如:yunos)
細(xì)節(jié)說明:
1、google官方cts測(cè)試用例中,對(duì)一個(gè)類進(jìn)行測(cè)試時(shí),并沒有對(duì)該類的所有方法進(jìn)行測(cè)試,而是測(cè)試了該類中使用最頻繁的一些方法;所以我們自己編程測(cè)試用例時(shí),也可以按照這樣的原則進(jìn)行操作;
2、對(duì)于“窗口控件類”中使用的的res資源文件的目錄在source_android4\cts\tests\res
3、最好是在eclipse中編寫,需要res文件的,可以先拷貝到當(dāng)前工程下,這樣可以通過eclipse檢查編程中的語法錯(cuò)誤;
4、包名的格式:package android.XXX.cts;
4、 修改XXX/目錄下的Android.mk文件
LOCAL_PACKAGE_NAME := CtsXXXTestCases(這個(gè)變量是定義自己的測(cè)試用例集的名稱;編譯后會(huì)生成同名的APK文件)
LOCAL_INSTRUMENTATION_FOR := CtsTestStubs(這個(gè)變量定位的是一些涉及到虛擬機(jī)的測(cè)試用例,使用junit框架;TestStubs這個(gè)類在目錄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的名稱”/>(說明:這個(gè)是測(cè)試activity時(shí)容易忽略的地方)
</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追加自己測(cè)試用例集名稱CtsXXXTestCases
說明:該文件在編譯的時(shí)候會(huì)被build/core/tasks/cts.mk調(diào)用,生成最終的CTS包。
對(duì)CtsTestCaseList.mk文件說明:
CTS_COVERAGE_TEST_CASE_LIST(核心變量)
├── cts_support_packages(該變量包含的是測(cè)試依賴的一些用例,其對(duì)于代碼目錄為cts/hostsidetests)
├──CtsAccelerationTestStubs \
├──CtsDelegatingAccessibilityService \
├──CtsDeviceAdmin \
├──CtsMonkeyApp \
├──CtsMonkeyApp2 \
├──CtsSomeAccessibilityServices \
├──CtsTestStubs \
├──SignatureTest \
├──TestDeviceSetup \
├──$(cts_security_apps_list)
├── cts_test_packages(該變量對(duì)應(yīng)的是cts/tests/tests/目錄下的測(cè)試用例)
二、編譯自己的cts包
執(zhí)行make cts -j4
三、在真機(jī)上進(jìn)行測(cè)試
由于完整進(jìn)行cts測(cè)試要很長時(shí)間,所以我們可以自己創(chuàng)建一個(gè)測(cè)試計(jì)劃,步驟如下:
1、將cts包解壓,在android-cts\repository\plans下創(chuàng)建一個(gè)名為XXX的xml文件;
2、這個(gè)xml文件格式為:
<?xml version="1.0" encoding="UTF-8"?>
<TestPlan version="1.0">
<Entry uri="android.XXX"/>
</TestPlan>
3、進(jìn)行cts測(cè)試時(shí)執(zhí)行run cts -- plan XXX
posted on 2014-07-28 09:32 順其自然EVO 閱讀(2612) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄 、android