自動(dòng)化基礎(chǔ)測(cè)試_第1頁(yè)
自動(dòng)化基礎(chǔ)測(cè)試_第2頁(yè)
自動(dòng)化基礎(chǔ)測(cè)試_第3頁(yè)
自動(dòng)化基礎(chǔ)測(cè)試_第4頁(yè)
自動(dòng)化基礎(chǔ)測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

自動(dòng)化培訓(xùn)大綱測(cè)試開(kāi)發(fā)環(huán)境搭建CTSMonkeyMonkeyrunner

自動(dòng)化測(cè)試的概念自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。通常,在設(shè)計(jì)了測(cè)試用例并通過(guò)評(píng)審之后,由測(cè)試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步執(zhí)行測(cè)試,得到實(shí)際結(jié)果與期望結(jié)果的比較。在此過(guò)程中,為了節(jié)省人力、時(shí)間或硬件資源,提高測(cè)試效率,便引入了自動(dòng)化測(cè)試的概念。測(cè)試開(kāi)發(fā)環(huán)境搭建ubuntu安裝注意事項(xiàng)編譯環(huán)境配置開(kāi)發(fā)工具的配置eclipsevirtualbox安裝CTS

Android的CTS測(cè)試,英文為CompatibilityTestSuite,意為兼容性測(cè)試。只有通過(guò)CTS測(cè)試的設(shè)備才有可能獲得Android的商標(biāo)和享受AndroidMarket的權(quán)限.在進(jìn)行CTS測(cè)試之前,應(yīng)該確保已安裝了,JDK,SDK,eclipse,前面我們已經(jīng)完成了測(cè)試開(kāi)發(fā)環(huán)境搭建。注:CTS測(cè)試只能在LINUX系統(tǒng)下進(jìn)行。CTS環(huán)境搭建CTS測(cè)試分android2.3和android4.0CTS環(huán)境搭建下載CTS包;下載后解壓即可。也可以通過(guò)編譯Android源代碼的方式獲得。在android源代碼目錄下輸入makects命令來(lái)編譯CTS,之后會(huì)在out/host/linux-x86/cts/下生成android-cts文件夾。這個(gè)文件夾就是CompatibilityTestSuit。(這種方法我還沒(méi)有試過(guò))設(shè)置環(huán)境變量,可直接在linux的shell中輸入exportPATH=“$PATH:/my_path”其它my_path就是stratcts的路徑,如我的是/home/tang/endroid_env/cts/android-cts/tools/startcts,其中引號(hào)是雙劃線,非中文引號(hào)

在手機(jī)或者模擬器上安裝CtsDelegatingAccessibilityService.apk和CtsDeviceAdmin.apk這個(gè)包在

android-cts/repository/testcases中??梢灾苯釉谑謾C(jī)里安裝,也可通過(guò)命令安裝adbinstall+包名

CTS環(huán)境搭建4.去官網(wǎng)下載android-cts-media-1.0,網(wǎng)址:即是下載CTS版本的地址:然后裝備一張T卡,連上手機(jī),運(yùn)行media目錄下的copy_medit.sh考貝到SD卡5.去去下載一個(gè)叫,這個(gè)是裝在SD卡,主要是解決手機(jī)設(shè)置TTS中的CASE。到這里安裝的就差不多了。

手機(jī)或模擬器的設(shè)置:

1.

進(jìn)入settings->Privacy->Factorydatareset,對(duì)平臺(tái)進(jìn)行reset一次

2.

進(jìn)入settings->Wireless&networks,連接AP(AP需要連外網(wǎng)),打開(kāi)Bluetooth3.

進(jìn)入settings->display->screentimeout,設(shè)為nevertimeout,如果沒(méi)有這個(gè)選項(xiàng),則設(shè)為30minutes4.

進(jìn)入settings->display,勾選auto-rotatescreen5.

進(jìn)入settings->applications->development,勾選USBdebugging,stayawake和allowmocklocations三項(xiàng)6.

進(jìn)入settings->accessibility,勾選accessibility和CtsDelegatingAccessibilityService兩項(xiàng)7.

進(jìn)入settings->language&keyboard->selectlanuage,設(shè)為English(UnitedStates)8.

平臺(tái)插入一張TF卡(最好是空卡)修改startcts中的SDK_ROOT

這個(gè)只針對(duì)2.3的,進(jìn)入android/out/host/linux-x86/cts/android-cts/repository/tools目錄下,修改startcts腳本文件。將腳本中的SDK_ROOT該成自己的android

SDK路徑.$cd

home/tester/cts/android-cts/repository/tools$vimstartcts修改腳本中出現(xiàn)的第一個(gè)SDK_ROOT,如“SDK_ROOT=/home/tang/android_env/android-sdk-linux_x86,同時(shí)可修改host_config.xml中的<IntValuename=“maxTestCount”value=“0”/>把這個(gè)值改成0。手機(jī)測(cè)試時(shí)就不會(huì)重啟了,如果不改,默認(rèn)是執(zhí)行200case重啟一次4.0的不須要配置,直接運(yùn)行cts-tradefed這個(gè)即可。文件和2.3同目錄CTS測(cè)試

現(xiàn)在我們可以進(jìn)行CTS測(cè)試了,直接在shell中輸入startcts(4.0的輸入cts-tradefed)啟動(dòng)CTS測(cè)試,如果提示找不到文件,第一:環(huán)境變量設(shè)置有錯(cuò),我們可以到startcts的路徑中輸入./startcts,在沒(méi)有設(shè)置環(huán)境變量的情況下同樣可以使用。出現(xiàn)如下提示說(shuō)明運(yùn)行成功:Android2.3時(shí)進(jìn)入運(yùn)行CTS的界面tang@tang-desktop:~$startctsAndroidCTSversion2.3_r5Device(0123456789ABCDEF)connected//注:紅包部分會(huì)設(shè)備ID號(hào),視情況而定cts_host>cts_host>Android4.0時(shí)進(jìn)入運(yùn)行CTS的界面tzb@tzb:~/share/CTS/4.0/android-cts/tools$./cts-tradefedcts-tf>CTS(2.3)中常用的幾個(gè)命令

在“cts_host>”提示符下輸入命令,以下為幾個(gè)常用的命令help查看所有exit退出ls-p列出所有的測(cè)試包ls--plan列出所有的測(cè)試方案start--planplan_name運(yùn)行一個(gè)測(cè)試方案,如:start–planCTSstart--planplan_name--packagepackage_name運(yùn)行一個(gè)特定的測(cè)試包,如:start--planCTS--packageandroid.bluetoothCTS(4.0)中常用的的幾個(gè)命令令在“cts_host>”提示符下輸輸入命令,以下為幾個(gè)個(gè)常用的命命令help查看所有exit退出lpackages列出所有的的測(cè)試包lp列出所有的的測(cè)試方案案runcts--plantest_plan_name運(yùn)行一個(gè)測(cè)測(cè)試方案,,如如:runcts––planCTSruncts--class/-c[--method/-m]:運(yùn)行一個(gè)特特定的測(cè)試試包,如::startcts-cpackage-mandroid.bluetooth查看測(cè)試報(bào)報(bào)告運(yùn)行測(cè)試時(shí)時(shí),在CTS運(yùn)行界面能能看到測(cè)試試報(bào)告與運(yùn)運(yùn)行狀況。。測(cè)試完成成后可在android-cts/repository/results/下生成詳細(xì)細(xì)的測(cè)試報(bào)報(bào)告和一些些附加信息息,其中用用日期和時(shí)時(shí)間命名的的文件夾下下為所有的的測(cè)試結(jié)果果,同時(shí)文文件夾也會(huì)會(huì)被打成一一個(gè)對(duì)應(yīng)的的.zip包方便提交交。用瀏覽覽器打開(kāi).xml文件(默認(rèn)認(rèn)就是,直直接雙擊))就可以查查看所用的的測(cè)試報(bào)告告了monkey一、Monkey測(cè)試簡(jiǎn)介二、Monkey程序介紹三、Monkey命令的簡(jiǎn)單單幫助四、Monkey命令參數(shù)介介紹Monkey測(cè)試簡(jiǎn)介1.monkey可以直接在在XP上運(yùn)行,只只要XP上能用adb,即可使用用2.Monkey測(cè)試是Android平臺(tái)自動(dòng)化化測(cè)試的一一種手段,,通過(guò)Monkey程序模擬用用戶觸摸屏屏幕、滑動(dòng)動(dòng)Trackball、按鍵等操操作來(lái)對(duì)設(shè)設(shè)備上的程程序進(jìn)行壓壓力測(cè)試,,檢測(cè)程序序多久的時(shí)時(shí)間會(huì)發(fā)生生異常。Monkey程序介紹1)Monkey程序由Android系統(tǒng)自帶,,使用Java語(yǔ)言寫成,,在Android文件系統(tǒng)中中的存放路路徑是:/system/framework/monkey.jar;2)Monkey.jar程序是由一一個(gè)名為““monkey”的Shell腳本來(lái)啟動(dòng)動(dòng)執(zhí)行,shell腳本在Android文件系統(tǒng)中中的存放路路徑是:/system/bin/monkey;這樣就可可以通過(guò)在在shell窗口中執(zhí)行行:adbshellmonkey{+命令參數(shù)}}來(lái)進(jìn)行Monkey測(cè)試了。Monkey命令的簡(jiǎn)單單幫助要獲取Monkey命令自帶的的簡(jiǎn)單幫助助,在linux的shell中執(zhí)行命令令:adbshellmonkey––help對(duì)于monkey可測(cè)試的包包可以通過(guò)過(guò)adb來(lái)查看:adbshellcddata/data可測(cè)試的包包都在這里里面了Monkey命令參數(shù)介介紹參數(shù):-p參數(shù)-p用于約束限限制,用此此參數(shù)指定定一個(gè)或多多個(gè)包(Package,即App)。指定包包之后,,Monkey將只允許系系統(tǒng)啟動(dòng)指指定的APP。如果不指指定包,Monkey將允許系統(tǒng)統(tǒng)啟動(dòng)設(shè)備備中的所有有APP。

*指指定一個(gè)包包:說(shuō)明:為包名,100是事件計(jì)數(shù)數(shù)(即讓Monkey程序模擬100次隨機(jī)用戶戶事件)。。

*指指定多個(gè)包包:––pcom.htc.pdfreader-pcom.htc.photo.widgets100

*不指定包::adbshellmonkey100說(shuō)明:Monkey隨機(jī)啟動(dòng)APP并發(fā)送100個(gè)隨機(jī)事件件。2)參數(shù)數(shù):-v用于于指指定定反反饋饋信信息息級(jí)級(jí)別別((信信息息級(jí)級(jí)別別就就是是日日志志的的詳詳細(xì)細(xì)程程度度)),,總總共共分分3個(gè)級(jí)級(jí)別別,,分分別別對(duì)對(duì)應(yīng)應(yīng)的的參參數(shù)數(shù)如如下下表表所所示示::日日志志級(jí)級(jí)別別Level0示例例––v100說(shuō)明明缺缺省省值值,,僅僅提提供供啟啟動(dòng)動(dòng)提提示示、、測(cè)測(cè)試試完完成成和和最最終終結(jié)結(jié)果果等等少少量量信信息息日日志志級(jí)級(jí)別別Level1示例例––v-v100說(shuō)明明提提供供較較為為詳詳細(xì)細(xì)的的日日志志,,包包括括每每個(gè)個(gè)發(fā)發(fā)送送到到Activity的事事件件信信息息日日志志級(jí)級(jí)別別Level2示例例––v-v––v100說(shuō)明明最最詳詳細(xì)細(xì)的的日日志志,,包包括括了了測(cè)測(cè)試試中中選選中中/未選選中中的的Activity信息息測(cè)試試用用的的其其它它monkey其它它參參數(shù)數(shù)::參數(shù)數(shù)::-s用于于指指定定偽偽隨隨機(jī)機(jī)數(shù)數(shù)生生成成器器的的seed值,,如如果果seed相同同,,則則兩兩次次Monkey測(cè)試試所所產(chǎn)產(chǎn)生生的的事事件件序序列列也也相相同同的的。。參數(shù)數(shù)::--throttle<毫秒秒>用于于指指定定用用戶戶操操作作((即即事事件件))間間的的時(shí)時(shí)延延,,單單位位是是毫毫秒秒;;參數(shù)數(shù)::--ignore-crashes用于于指指定定當(dāng)當(dāng)應(yīng)應(yīng)用用程程序序崩崩潰潰時(shí)時(shí)((Force&Close錯(cuò)誤誤)),,Monkey是否否停停止止運(yùn)運(yùn)行行。。如如果果使使用用此此參參數(shù)數(shù),,即即使使應(yīng)應(yīng)用用程程序序崩崩潰潰,,Monkey依然然會(huì)會(huì)發(fā)發(fā)送送事事件件,,直直到到事事件件計(jì)計(jì)數(shù)數(shù)完完成成。。參數(shù)數(shù)::--ignore-timeouts用于于指指定定當(dāng)當(dāng)應(yīng)應(yīng)用用程程序序發(fā)發(fā)生生ANR(ApplicationNoResponding)錯(cuò)錯(cuò)誤誤時(shí)時(shí),,Monkey是否否停停止止運(yùn)運(yùn)行行。。如如果果使使用用此此參參數(shù)數(shù),,即即使使應(yīng)應(yīng)用用程程序序發(fā)發(fā)生生ANR錯(cuò)誤誤,,Monkey依然然會(huì)會(huì)發(fā)發(fā)送送事事件件,,直直到到事事件件計(jì)計(jì)數(shù)數(shù)完完成成。。還還有有很很多多命命令令,,大大家家可可以以到到網(wǎng)網(wǎng)上上去去查查資資料料。。(可見(jiàn)見(jiàn)附附件件)monkeyrunnerMonkeyrunner只有有能能用用adb的電電腦腦上上都都能能運(yùn)運(yùn)行行,,我我們們從從以以下下幾幾方方面面對(duì)對(duì)基基進(jìn)進(jìn)行行介介紹紹::Monkeyrunner簡(jiǎn)介介monkeyrunner工具具同同Monkey工具具的的差差別別monkeyrunner的測(cè)測(cè)試試類類型型運(yùn)行行monkeyrunnerMonkeyrunner簡(jiǎn)介介monkeyrunner工具具提提供供了了一一個(gè)個(gè)API,使使用用此此API寫出出的的程程序序可可以以在在Android代碼碼之之外外控控制制Android設(shè)備備和和模模擬擬器器。。通通過(guò)過(guò)monkeyrunner,您您可可以以寫寫出出一一個(gè)個(gè)Python程序序去去安安裝裝一一個(gè)個(gè)Android應(yīng)用用程程序序或或測(cè)測(cè)試試包包,,運(yùn)運(yùn)行行它它,,向向它它發(fā)發(fā)送送模模擬擬擊擊鍵鍵,,截截取取它它的的用用戶戶界界面面圖圖片片,,并并將將截截圖圖存存儲(chǔ)儲(chǔ)于于工工作作站站上上。。monkeyrunner工具具的的主主要要設(shè)設(shè)計(jì)計(jì)目目的的是是用用于于測(cè)測(cè)試試功功能能/框架架水水平平上上的的應(yīng)應(yīng)用用程程序序和和設(shè)設(shè)備備,,或或用用于于運(yùn)運(yùn)行行單單元元測(cè)測(cè)試試套套件件,,但但您您當(dāng)當(dāng)然然也也可可以以將將其其用用于于其其它它目目的的Monkeyrunner文件件在在SDK目錄錄的的tools子目目錄錄下下,,運(yùn)運(yùn)行行時(shí)時(shí),,如如果果沒(méi)沒(méi)有有指指定定環(huán)環(huán)境境變變量量,,需需到到tools目錄下下方可可執(zhí)行行.monkeyrunner工具同同Monkey工具的的差別別Monkey:Monkey工具直直接運(yùn)運(yùn)行在在設(shè)備備或模模擬器器的adbshell中,生生成用用戶或或系統(tǒng)統(tǒng)的偽偽隨機(jī)機(jī)事件件流。。monkeyrunner:monkeyrunner工具則則是在在工作作站上上通過(guò)過(guò)API定義的的特定定命令令和事事件控控制設(shè)設(shè)備或或模擬擬器。。monkeyrunner的測(cè)試試類型型1、多設(shè)設(shè)備控控制::monkeyrunnerAPI可以跨跨多個(gè)個(gè)設(shè)備備或模模擬器器實(shí)施施測(cè)試試套件件。您您可以以在同同一時(shí)時(shí)間接接上所所有的的設(shè)備備或一一次啟啟動(dòng)全全部模模擬器器(或或統(tǒng)統(tǒng)統(tǒng)一起起),,依據(jù)據(jù)程序序依次次連接接到每每一個(gè)個(gè),然然后運(yùn)運(yùn)行一一個(gè)或或多個(gè)個(gè)測(cè)試試。您您也可可以用用程序序啟動(dòng)動(dòng)一個(gè)個(gè)配置置好的的模擬擬器,,運(yùn)行行一個(gè)個(gè)或多多個(gè)測(cè)測(cè)試,,然后后關(guān)閉閉模擬擬器。。2、功功能測(cè)測(cè)試::monkeyrunner可以為為一個(gè)個(gè)應(yīng)用用自動(dòng)動(dòng)貫徹徹一次次功能能測(cè)試試。您您提供供按鍵鍵或觸觸摸事事件的的輸入入數(shù)值值,然然后觀觀察輸輸出結(jié)結(jié)果的的截屏屏3、回歸歸測(cè)試試:monkeyrunner可以運(yùn)運(yùn)行某某個(gè)應(yīng)應(yīng)用,,并將將其結(jié)結(jié)果截截屏與與既定定已知知正確確的結(jié)結(jié)果截截屏相相比較較,以以此測(cè)測(cè)試應(yīng)應(yīng)用的的穩(wěn)定定性。。4、可擴(kuò)擴(kuò)展的的自動(dòng)動(dòng)化::由于于monkeyrunner是一個(gè)個(gè)API工具包包,您您可以以基于于Python模塊和和程序序開(kāi)發(fā)發(fā)一整整套系系統(tǒng),,以此此來(lái)控控制Android設(shè)備。。除了了使用用monkeyrunnerAPI之外,,您還還可以以使用用標(biāo)準(zhǔn)準(zhǔn)的Pythonos和subprocess模塊來(lái)來(lái)調(diào)用用AndroidDebugBridge這樣的的Android工具。運(yùn)行monkeyrunner您也可可以向向monkeyrunnerAPI中添加加您自自己的的類monkeyrunner工具使使用Jython(使用用Java編程語(yǔ)語(yǔ)言的的一種種Python實(shí)現(xiàn)))。Jython允許monkeyrunnerAPI與Android框架輕輕松的的進(jìn)行行交互互。使使用Jython,您可可以使使用Python語(yǔ)法來(lái)來(lái)獲取取API中的常常量、、類以以及方方法。。使用monkeyrunner,在shell中輸入入monkeyerunner,成功進(jìn)進(jìn)入如如下所所示::tang@tang-desktop:~$monkeyrunnerJython2.5.0(Release_2_5_0:6476,Jun162009,13:33:26)>>>下面是是一個(gè)個(gè)實(shí)例例:#導(dǎo)入此此程序序所需需的monkeyrunner模塊>>>fromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyDevice#連接當(dāng)當(dāng)前設(shè)設(shè)備,,返回回一個(gè)個(gè)MonkeyDevice對(duì)象>>>device=MonkeyRunner.waitForConnection()#安裝Android包,注注意,,此方方法返返回的的返回回值為為boolean,由此此您可可以判判斷安安裝過(guò)過(guò)程是是否正正常,,紅色部部分為為你自自己在在電腦腦上的的路徑徑device.installPackage('myproject/bin/MyApplication.apk')#運(yùn)行此此應(yīng)用用中的的一個(gè)個(gè)活動(dòng)動(dòng),,這個(gè)個(gè)活動(dòng)動(dòng)名可可以能能過(guò)eclipse中的logcat查看((紅包包部分分)device.startActivity(component='com.example.android.myapplication.MainActivity')#按下下菜菜單單按按鍵鍵device.press('KEYCODE_MENU','DOWN_AND_UP')#截取取屏屏幕幕截截圖圖result=device.takeSnapShot()#將截截圖圖保保存存至至文文件件result.writeToFile('myproject/shot1.png','png')monkeyrunnerAPI于包中中包包含含三三個(gè)個(gè)模模::MonkeyR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論