CTS添加新測試用例步驟
前言:
google源代碼中的cts測試用例集目錄為:source_android4.2/cts/tests/tests/ (source_android4.2表示android4.2代碼存放路徑),該目錄下有一個測試用例集example文件夾;下面就以這個用例集為例,講述怎樣編寫自己的cts測試用例集;
結(jié)構(gòu)如下:
example
├── AndroidManifest.xml
├── Android.mk
└── src
└── android
└── example
├── cts
步驟:
1、 在cts/tests/tests/目錄下創(chuàng)建一個自己的用例集(文件夾)名稱XXX;
2、 在該文件夾中構(gòu)建如下結(jié)構(gòu):
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/目錄下找到對應(yīng)的測試包,參考其代碼的編寫;
具體操作:
在src/android/XXX/cts目錄下添加自己的用例;(XXX為自己的測試用例集的名稱,例如:yunos)
細節(jié)說明:
1、google官方cts測試用例中,對一個類進行測試時,并沒有對該類的所有方法進行測試,而是測試了該類中使用最頻繁的一些方法;所以我們自己編程測試用例時,也可以按照這樣的原則進行操作;
2、對于“窗口控件類”中使用的的res資源文件的目錄在source_android4\cts\tests\res
3、最好是在eclipse中編寫,需要res文件的,可以先拷貝到當(dāng)前工程下,這樣可以通過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調(diào)用,生成最終的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(該變量對應(yīng)的是cts/tests/tests/目錄下的測試用例)
二、編譯自己的cts包
執(zhí)行make cts -j4
三、在真機上進行測試
由于完整進行cts測試要很長時間,所以我們可以自己創(chuàng)建一個測試計劃,步驟如下:
1、將cts包解壓,在android-cts\repository\plans下創(chuàng)建一個名為XXX的xml文件;
2、這個xml文件格式為:
<?xml version="1.0" encoding="UTF-8"?>
<TestPlan version="1.0">
<Entry uri="android.XXX"/>
</TestPlan>
3、進行cts測試時執(zhí)行run cts -- plan XXX
posted on 2014-07-28 09:32 順其自然EVO 閱讀(2612) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄 、android