qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          CTS添加新測(cè)試用例步驟

            一、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

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 通许县| 东阿县| 高青县| 佳木斯市| 宜春市| 大丰市| 本溪| 田林县| 招远市| 新平| 普宁市| 丰镇市| 沙雅县| 石台县| 遂平县| 保山市| 周宁县| 博白县| 本溪| 工布江达县| 招远市| 阳信县| 周宁县| 德化县| 五原县| 墨脱县| 安阳县| 蒙城县| 财经| 泸定县| 通城县| 克东县| 荃湾区| 团风县| 凌海市| 兴业县| 遵化市| 平顶山市| 尚义县| 金阳县| 灵武市|