CTS測(cè)試全面理解_第1頁
CTS測(cè)試全面理解_第2頁
CTS測(cè)試全面理解_第3頁
CTS測(cè)試全面理解_第4頁
CTS測(cè)試全面理解_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

CTSCts的目的:讓APP提供更好的用戶體驗(yàn)。用戶可以選擇更多的適合自己設(shè)備的APP。讓APP更穩(wěn)定。讓開發(fā)者設(shè)計(jì)更高質(zhì)量的APP。通過CTS的設(shè)備可以運(yùn)行Androidmarket。得到cts有2個(gè)方法:1、編譯源碼得到cts路徑為:源碼目錄/out/host/linux-x86/cts/2、從網(wǎng)上下載cts路徑為:你下載的目錄CTS步驟:(以i600w為例)準(zhǔn)備工作:①、CTS工具編譯得到cts1、2、3、41、2、3、4、5、②③cdMSM8x25-ICS-APsourcebuild/envsetup.shchoosecombo1183makects選擇編譯策略:編譯cts:、配置adb環(huán)境、測(cè)試對(duì)象(模擬器和真機(jī)都行)1、2、3、4、5、6、7、8、9、進(jìn)入settings->Privacy->Factorydatareset,對(duì)平臺(tái)進(jìn)彳亍reset一次平臺(tái)插入一張空的TF卡平臺(tái)安裝兩個(gè)APK:CtsDelegatingAccessibilityService.apk,CtsDeviceAdmin.apk進(jìn)入settings打開Wi-Fi并連接AP(AP需要連外網(wǎng))進(jìn)入settings->Security->Screenlock設(shè)為1、2、3、4、5、6、7、8、9、10、進(jìn)入settings->Accessibility->EnableDelegatingAccessibilityService11、進(jìn)入settings->Developeroptions->EnableUSBdebugging、Stayawake、Allowmocklocations12、PC上copy“android-cts-media-1.0”,在android-cts-media-1.0文件下輸入./copy_copy_media.sh運(yùn)行腳本,將media文件copy進(jìn)平臺(tái)。成功后會(huì)在平臺(tái)的內(nèi)存中看到test文件夾。(此條適用于CTS4.0R2和R3,R1上無需使用)(此問題暫時(shí)沒有弄清楚)以上準(zhǔn)備工作完成后,開始測(cè)試:1、進(jìn)入cts所在的目錄:cdMSM8x25-ICS-AP/out/host/linux-x86/cts/android-cts/tools/2、運(yùn)行cts-tradefed文件./cts-tradefed3、測(cè)試:runcts-ppackageNameCTS測(cè)試結(jié)果CTS運(yùn)行后會(huì)產(chǎn)生一測(cè)試報(bào)告,測(cè)試報(bào)告以開始的日期+時(shí)間命名。一般只要查看testresult.xml文件就可對(duì)測(cè)試結(jié)果進(jìn)行分析。由于CTS測(cè)試所需要花費(fèi)的時(shí)間比較長(zhǎng),當(dāng)對(duì)測(cè)試進(jìn)行調(diào)試時(shí)可針對(duì)的進(jìn)行測(cè)試,可節(jié)約大量時(shí)間。以下介紹幾種常用的方法:查看整體測(cè)試概覽--打開testresult.xml(TestSummarybyPackage)查看具體測(cè)試包測(cè)試用例執(zhí)行情況--點(diǎn)擊某個(gè)testpackage測(cè)試fail項(xiàng)查看失敗細(xì)節(jié)測(cè)試調(diào)試首先確定是哪個(gè)測(cè)試包出現(xiàn)失敗,然后針對(duì)該測(cè)試包進(jìn)行重新測(cè)試:adbinstall.../android-cts/package.apkadbshellpmlistinstrumentaion(pm用于管理package,看當(dāng)前設(shè)備安裝了什么用例)adbshellaminstrument-wandroid.tests.sigtest/.InstrumentRunner(am用于管理activity,啟動(dòng)指定的測(cè)試用例)定位某個(gè)測(cè)試失敗項(xiàng)進(jìn)行單獨(dú)運(yùn)行runcts--class[classname]--method[methodname]cts-tr>runcts-cco*.androLd.<aiwera,runctlonalrelntentlest—ntestExtraOutput場(chǎng);夠;,£I/Teitinwocatlon;Startingin^ocetlODfor!cts!onbuild‘4?由3_口‘wde*ite曰叫12-D516:0g:-4flI/enulator-5554:Createdresultdir2012.12.0516.09.4Dcts-tf>12-9516:05:41E/CtsTest!Couldnotfindtest-apkCarrera.apk.注意:可在測(cè)試報(bào)告中找到對(duì)應(yīng)的classname,methodnameCTS命令CTS4.0的命令和CTS2.3/2.3完全不同,所以在進(jìn)入CTS后,先輸入help看看命令的格式和意思。運(yùn)彳亍cts-tradefed查下helpEngzhihiu謔fciiM?命s蛙叩--/RSHSk25-ICS-Wovt/hostJHm*-jcOfe/cts/android-ct時(shí)tools',/cts-trMlcfcdAnriroidCIS4.0.2ricts-tT>12-45W7ft2:24i1/Devli:€Nalaager:Detectednewdeyiceeitilator-5554helpCT5-tradcfedhost花irsdon4.0.3r2CTS-tradrfedisthetesthariKssforrunningtheAndroidCtwjHtibilily5uitcPbuiltcmtvpofthetradrfcdlfr?nfffk.AvdlUtoleandopclc^E;Host:help:£tiowtinshelpall;showthecsipletetradefedheUpexit:gracefullyexittfie€ts七口由網(wǎng)1自waitingtillallin^caticnEarecnqplEteRin:rancts--plamtestjplanjwc-rwiatestplapruncts-packfige/p:run8CT5test哄K碑ier<uncis—class/-c[--B&ital/-iiii|:runa^peciricTeMand/oraethEr<uncts"-continue-sessionsessionID:runallnot頃te&tsfraapreviousCTSsessionrunctsIoptions]--senal/sdeviceiD;runCT5dtiijacifieddevicerunctsiDptiofis]--shards[nurejer_nf_shardssshardaCT5runintogivennuitoerafindependent(flunks卜tDrunoinlultipledevicesinparallelranct5--help/--helpall:getwrehelpmrunningCT5List:VUstd/devKies:listconnecteddevicesaidthdrstateL/l1stpacka^e^:Lis-tCTSte£tpackagesL/l1stp/plant:listCTStestplansl/listi/uiy&ratians:listinwcatiwisakaCT5testnunscorremtlyinprogressVl-ist£/c@iinaffid^jListcomands:akaCT5testrunccmaandscurrentlyinthe^jsueHaltingtobeallDiateddevicesVUstr^resuHslistCT5resultsrarmitl^presentintherEpositoryAdd:*ddderivedpliii--planpW_r@K-sesMfl^ssesslwijcl-r[沸*〃住11加01:&渤ted/tiittut];flterlveapi?nrrentihegMssessionOlflfl:d/dunpL/logs:dupthetraiefedLog)forallruiningirYvoc-atlonscts-tf*查看測(cè)試計(jì)劃:l/listplans查看測(cè)試包:l/listpackages運(yùn)行測(cè)試計(jì)劃:runcts--planSignature運(yùn)行測(cè)試計(jì)劃下的測(cè)試包:runcts--packageandroid.theme指定某個(gè)設(shè)備上運(yùn)行某個(gè)測(cè)試計(jì)劃中的測(cè)試用例:runcts--serialMedfield6DA2B702--planSignature(暫時(shí)未驗(yàn)證)指定某個(gè)類的某個(gè)方法:runcts-candroid.hardware.cts.SensorTest-mtestSensorOperationsCTSTestPlanTestPlan測(cè)試計(jì)劃,TestPackage的集合,每個(gè)Plan中都包含若干個(gè)測(cè)試包。eg.CTS:包含2萬多個(gè)測(cè)試用例,這些測(cè)試用例是檢驗(yàn)兼容性必須的,性能測(cè)試不包含在本計(jì)劃中,隨版本的更新,本測(cè)試計(jì)劃也會(huì)更新;Signature:包含所有針對(duì)公有APIs的署名測(cè)試;Android:包含針對(duì)androidAPIs的所有測(cè)試;Java:包含所有針對(duì)java核心library的測(cè)試;VM:包含對(duì)虛擬機(jī)的所有測(cè)試;RefApp:包含針對(duì)參與應(yīng)用程序的所有測(cè)試,隨版本的更新,本測(cè)試計(jì)劃也會(huì)更新;Performance:包含所有針對(duì)性能的測(cè)試,隨版本的更新,本測(cè)試計(jì)劃也會(huì)更新;AppSecurity:針對(duì)Application安全性的測(cè)試;TestPackage測(cè)試包,TestCase的集合TestCase:測(cè)試用例,Test的集合Test:測(cè)試,每一個(gè)測(cè)試對(duì)應(yīng)一個(gè)或者多個(gè)InstrumentationTestInstrumentationTest:Android測(cè)試環(huán)境的核心是一個(gè)Instrumentation框架,在這個(gè)框架下,低估的測(cè)試應(yīng)用程序可以精確控制應(yīng)用程序。使用Instrumentation,B可以在主程序啟動(dòng)前,創(chuàng)建模擬的系統(tǒng)對(duì)象,如Context;控制應(yīng)用程序的多個(gè)生命周期;發(fā)送UI事件給應(yīng)用程序;在執(zhí)行期間檢查程序狀態(tài)。Instrumentation框架通過將主程序和測(cè)試程序運(yùn)行在同一個(gè)進(jìn)程來實(shí)現(xiàn)這些功能;

增加一個(gè)測(cè)試用例:匹

1=1增加一個(gè)應(yīng)用的測(cè)試用例以Camera為例1、先尋找到app所在的目錄MSM8x25-ICS-AP/packages/apps/CameraTests增加一個(gè)測(cè)試用例:匹

1=1再將其中包含的tests文件中的文件復(fù)制到目標(biāo)文件中cp-aMSM8x25-ICS-AP/packages/apps/Camera/testsMSM8x25-ICS-AP/cts/tests/tests/CameraTestscp[選項(xiàng)]源文件或目錄目標(biāo)文件或目錄說明該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個(gè)源文件復(fù)制到目標(biāo)目錄中。2、再尋找android.mk文件。目錄為:MSM8x25-ICS-AP/cts/tests/tests/CameraTests/Android.mk修改文件如下圖:LOCAL_PATH:=S(callmy-dir)include$(CLEAR_VARS)井Weout/wantthisapkbuildfortests.LaCAL_MODULE_TAGS:=testsL(KAL_JAIMLIBRARIES:=android,test.runnerIncludealltestjavafilesrLOCAL_SRC_FILES:=$(caLIall-java-files-unaer,srcjLOCALPACKAGE_NAME:=CasieraTestsCaEesLOCAL_IMS7RUMENTATI0M_F0R:二Camerainclude$(BUILD_PACKAGE)3、尋找cts.mk文件。目錄為:MSM8x25-ICS-AP/build/core/tasks/cts.mk修改文件如下:CT5_CaRE_CASE_LIST:=1android.G(ire-te5t5.libcQre.package.daU,ik\android,core-tests.libcore.package.con\android.core_tests.libcore.package.sun\android.core.tests.Ubcone.package「tests\android.core.tests,\android.core-tests.UbcDrepackage.libcore\android,core-tests.runner-includects/CtsTestCa&eLl&t.mkCTS_CASE_LIST:=HusicTestsCasesSCameraTestsCases5BrowserTestsCasesS(CTSJORE_CASE^LIST)S(CTSTESTCASE_LIST)CEFAUL1TESTPLAN:=$[cts_dir)/$[cts_name)/resource/plans1(ctsdir)ts_fliesstamp:private_junit_hostjar:-ifjunitjostjar}4、尋找ctsTestCaseList.mk文件。目錄為:MSM8x28-ICS-AP/cts/tools/ctsTestCaseList.mk修改文件如下:(在文件中加入標(biāo)記部分)Thesetestcaseswillbeanal/zAdbytheCT5APIcoverage-tods-CT5rTEST_iCgFELIST:=\CameraTestsCases\CtsAccsIlisratiarVestCases\CtsAcceterationTestStub?■\Cts^cessibillXyServiceTesteases、CtsAccountMiainagerTestCasesXCtsAdminTestCa號(hào)es\CtsAnnTitstCosesXCtsAppT、CtsBlurtaathTestCoses\CtsCo:ntentTestCase-sXCtsDatabaseTCases\CtsDelrgatingAccessibilityServiceX4、重新編譯cts,makects編譯完畢,鍵入:listpackages可以看到有android.CameraTests。cts-tf?listpackagesandroid.Erowsenestsandroid-Caier^lestslandroid.EnaiHestsandroid.HusicTestsandroid.accelerationandroid.accessibilityserviceandroid.accountsandroid.adnnandroid.aninationandroid.apidemos.ctsandroid.appandroid.bluetoothandroid.contentandroid.core-tests.\android.core.tests.libcore.package.dalvikandroid.core,tests.libcore,血roid.core.tests.libcore.package.5unandroid.core.tests.libcore.package.testsandroid.core.vm-testsandroid.core.vfii-tests-Tfsndroid.databaseandroid.dpi然后就可以運(yùn)行新增用例了。runcts-pandroid.CameraTestscts-tf>runcts.-pandroid.CaneraTests12-B5I/TestlnwocatianiStartingiovocatiDnforbcts81onbuildi4.0.3_r2bandewiiEeniulatar-555412-0514;32;23l/erwlator-5554;createdresultdir2@12,L2,05?14.3Z.23cts-tf>12-0514:32:23E/CtsTest:CouldmotfindtestapkEtieraMpk或者runcts-planCameraTestscts-tfalistplansWM-TFCT5EmailTestsAppsecurltyCaneraTestsMusicTestsBrawserTestsRefAppJsvaAndroidCT5-TFsignaturects-tf>runcts--planCaneraTests12-G514^59156I/Testinvocation:StartingInvocationfor'<ts'onbuild,410.3_r2"ondeviceeater-555412^0514:50:55l/eiftLilator-5554:Createdresultdir2612.12.65LL弱.56cts-tf>12-0514:50!5fiE/CtsTestiCouldnatfindtestapkCamera.apk上述的情況,可以看到截圖上有個(gè)co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論