自動化基礎(chǔ)測試_第1頁
自動化基礎(chǔ)測試_第2頁
自動化基礎(chǔ)測試_第3頁
自動化基礎(chǔ)測試_第4頁
自動化基礎(chǔ)測試_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、自動化自動化培訓(xùn)大綱培訓(xùn)大綱 測試開發(fā)環(huán)境搭建 CTS Monkey Monkeyrunner 自動化測試的概念 自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。通常,在設(shè)計了測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。測試開發(fā)環(huán)境搭建 ubuntu安裝注意事項 編譯環(huán)境配置 開發(fā)工具的配置eclipse virtualbox安裝CTS Android的CTS測試,英文為Compatibility Test Suite,意為兼容性 測試。只有

2、通過CTS測試的設(shè)備才有可能獲得Android的商標(biāo)和享受Android Market的權(quán)限.在進(jìn)行CTS測試之前,應(yīng)該確保已安裝了,JDK,SDK ,eclipse,前面我們已經(jīng)完成了測試開發(fā)環(huán)境搭建。注:CTS測試只能在LINUX系統(tǒng)下進(jìn)行。CTS環(huán)境搭建CTS測試分android2.3和android4.0CTS環(huán)境搭建下載CTS包http:/ ;下載后解壓即可。也可以通過編譯Android源代碼的方式獲得。在android源代碼目錄下輸入make cts命令來編譯CTS,之后會在out/host/linux-x86/cts/下生成android-cts文件夾。這個文件夾就是 Compa

3、tibility Test Suit。(這種方法我還沒有試過)設(shè)置環(huán)境變量,可直接在linux的shell中輸入export PATH=“$PATH:/my_path”其它my_path就是stratcts的路徑,如我的是/home/tang/endroid_env/cts/android-cts/tools/startcts,其中引號是雙劃線,非中文引號 在手機或者模擬器上安裝CtsDelegatingAccessibilityService.apk和CtsDeviceAdmin.apk 這個包在 android-cts/repository/testcases中。可以直接在手機里安裝,也可

4、通過命令安裝 adb install + 包名 CTS環(huán)境搭建4.去官網(wǎng)下載android-cts-media-1.0,網(wǎng)址:http:/ 手機或模擬器的設(shè)置:1. 進(jìn)入settings-Privacy-Factory data reset,對平臺進(jìn)行reset一次 2. 進(jìn)入settings-Wireless & networks,連接AP (AP需要連外網(wǎng)),打開Bluetooth3. 進(jìn)入settings-display-screen timeout,設(shè)為never timeout,如果沒有這個選項,則設(shè)為30 minutes4. 進(jìn)入settings-display,勾選auto-ro

5、tate screen5. 進(jìn)入settings-applications-development,勾選USB debugging, stay awake和allow mock locations三項6. 進(jìn)入settings-accessibility,勾選accessibility和CtsDelegatingAccessibilityService兩項7. 進(jìn)入settings-language & keyboard-select lanuage,設(shè)為English(United States)8. 平臺插入一張TF卡(最好是空卡)修改startcts中的SDK_ROOT 這個只針對.的,

6、進(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 $vim startcts修改腳本中出現(xiàn)的第一個SDK_ROOT,如“SDK_ROOT=/home/tang/android_env/android-sdk-linux_x86,同時可修改host_config.xml中的 把這個值改成。手機測試時就不會重啟了,如果不改,默

7、認(rèn)是執(zhí)行200case重啟一次 .的不須要配置, 直接運行cts-tradefed這個即可。文件和2.3同目錄CTS測試 現(xiàn)在我們可以進(jìn)行CTS測試了,直接在shell中輸入startcts(4.0的輸入cts-tradefed )啟動CTS測試,如果提示找不到文件,第一:環(huán)境變量設(shè)置有錯,我們可以到startcts的路徑中輸入./startcts,在沒有設(shè)置環(huán)境變量的情況下同樣可以使用。出現(xiàn)如下提示說明運行成功:Android2.3時進(jìn)入運行CTS的界面tangtang-desktop:$ startctsAndroid CTS version 2.3_r5Device(0123456789

8、ABCDEF) connected /注:紅包部分會設(shè)備ID號,視情況而定cts_host cts_host Android4.0時進(jìn)入運行CTS的界面tzbtzb:/share/CTS/4.0/android-cts/tools$ ./cts-tradefed Android CTS 4.0.3_r2cts-tf CTS(2.3)中常用的幾個命令 在“cts_host ”提示符下輸入命令,以下為幾個常用的命令 help查看所有 exit退出 ls -p列出所有的測試包 ls -plan列出所有的測試方案 start -plan plan_name運行一個測試方案, 如:start plan

9、CTS start -plan plan_name -package package_name運行一個特定的測試包,如:start -plan CTS -package android.bluetoothCTS(4.0)中常用的幾個命令 在“cts_host ”提示符下輸入命令,以下為幾個常用的命令 help查看所有 exit退出 l packages列出所有的測試包 l p列出所有的測試方案 run cts -plan test_plan_name運行一個測試方案, 如:run cts plan CTS run cts -class/-c -method/-m :運行一個特定的測試包,如:s

10、tart cts -c package -m android.bluetooth查看測試報告 運行測試時,在CTS運行界面能看到測試報告與運行狀況。測試完成后可在android-cts/repository/results/下生成詳細(xì)的測試報告和一些附加信息,其中用日期和時間命名的文件夾下為所有的測試結(jié)果,同時文件夾也會被打成一個對應(yīng)的.zip包方便提交。用瀏覽器打開.xml文件(默認(rèn)就是,直接雙擊)就可以查看所用的測試報告了monkey一、Monkey測試簡介二、Monkey程序介紹三、Monkey命令的簡單幫助四、Monkey命令參數(shù)介紹Monkey測試簡介1.monkey可以直接在XP上

11、運行,只要XP上能用adb,即可使用 2.Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、按鍵等操作來對設(shè)備上的程序進(jìn)行壓力測試,檢測程序多久的時間會發(fā)生異常。Monkey程序介紹1) Monkey程序由Android系統(tǒng)自帶,使用Java語言寫成,在Android文件系統(tǒng)中的存放路徑是:/system/framework/monkey.jar;2) Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執(zhí)行,shell腳本在Android文件系統(tǒng)中的存放路徑是:/system/bin/monkey;這

12、樣就可以通過在shell窗口中執(zhí)行: adb shell monkey +命令參數(shù)來進(jìn)行Monkey測試了。Monkey命令的簡單幫助要獲取Monkey命令自帶的簡單幫助,在linux的shell中執(zhí)行命令: adb shell monkey help 對于monkey可測試的包可以通過adb來查看: adb shell cd data/data 可測試的包都在這里面了Monkey命令參數(shù)介紹參數(shù): -p參數(shù)-p用于約束限制,用此參數(shù)指定一個或多個包(Package,即App)。指定包之后,Monkey將只允許系統(tǒng)啟動指定的APP。如果不指定包,Monkey將允許系統(tǒng)啟動設(shè)備中的所有APP。*

13、 指定一個包: adb shell monkey -p com.htc.Weather 100說明:com.htc.Weather為包名,100是事件計數(shù)(即讓Monkey程序模擬100次隨機用戶事件)。* 指定多個包:adb shell monkey -p com.htc.Weather p com.htc.pdfreader -p com.htc.photo.widgets 100* 不指定包:adb shell monkey 100說明:Monkey隨機啟動APP并發(fā)送100個隨機事件。2) 參數(shù): -v用于指定反饋信息級別(信息級別就是日志的詳細(xì)程度),總共分3個級別,分別對應(yīng)的參數(shù)如

14、下表所示:日志級別 Level 0 示例 adb shell monkey -p com.htc.Weather v 100說明 缺省值,僅提供啟動提示、測試完成和最終結(jié)果等少量信息日志級別 Level 1示例 adb shell monkey -p com.htc.Weather v -v 100說明 提供較為詳細(xì)的日志,包括每個發(fā)送到Activity的事件信息 日志級別 Level 2示例 adb shell monkey -p com.htc.Weather v -v v 100說明 最詳細(xì)的日志,包括了測試中選中/未選中的Activity信息測試用的其它monkey其它參數(shù):參數(shù): -

15、s用于指定偽隨機數(shù)生成器的seed值,如果seed相同,則兩次Monkey測試所產(chǎn)生的事件序列也相同的。參數(shù): -throttle 用于指定用戶操作(即事件)間的時延,單位是毫秒;參數(shù): -ignore-crashes用于指定當(dāng)應(yīng)用程序崩潰時(Force & Close錯誤),Monkey是否停止運行。如果使用此參數(shù),即使應(yīng)用程序崩潰,Monkey依然會發(fā)送事件,直到事件計數(shù)完成。參數(shù): -ignore-timeouts用于指定當(dāng)應(yīng)用程序發(fā)生ANR(Application No Responding)錯誤時,Monkey是否停止運行。如果使用此參數(shù),即使應(yīng)用程序發(fā)生ANR錯誤,Monkey依然

16、會發(fā)送事件,直到事件計數(shù)完成。 還有很多命令,大家可以到網(wǎng)上去查資料。(可見附件)monkeyrunner Monkeyrunner只有能用adb的電腦上都能運行,我們從以下幾方面對基進(jìn)行介紹: Monkeyrunner簡介 monkeyrunner工具同Monkey工具的差別 monkeyrunner的測試類型 運行monkeyrunnerMonkeyrunner簡介monkeyrunner工具提供了一個API,使用此API寫出的程序可以在Android代碼之外控制Android設(shè)備和模擬器。通過monkeyrunner,您可以寫出一個Python程序去安裝一個Android應(yīng)用程序或測試包

17、,運行它,向它發(fā)送模擬擊鍵,截取它的用戶界面圖片,并將截圖存儲于工作站上。monkeyrunner工具的主要設(shè)計目的是用于測試功能/框架水平上的應(yīng)用程序和設(shè)備,或用于運行單元測試套件,但您當(dāng)然也可以將其用于其它目的Monkeyrunner文件在SDK目錄的tools子目錄下,運行時,如果沒有指定環(huán)境變量,需到tools目錄下方可執(zhí)行.monkeyrunner工具同Monkey工具的差別Monkey: Monkey工具直接運行在設(shè)備或模擬器的adb shell中,生成用戶或系統(tǒng)的偽隨機事件流。monkeyrunner: monkeyrunner工具則是在工作站上通過API定義的特定命令和事件控制

18、設(shè)備或模擬器。monkeyrunner的測試類型 1、多設(shè)備控制:monkeyrunner API可以跨多個設(shè)備或模擬器實施測試套件。您可以在同一時間接上所有的設(shè)備或一次啟動全部模擬器(或統(tǒng)統(tǒng)一起),依據(jù)程序依次連接到每一個,然后運行一個或多個測試。您也可以用程序啟動一個配置好的模擬器,運行一個或多個測試,然后關(guān)閉模擬器。 2、 功能測試: monkeyrunner可以為一個應(yīng)用自動貫徹一次功能測試。您提供按鍵或觸摸事件的輸入數(shù)值,然后觀察輸出結(jié)果的截屏 3、回歸測試:monkeyrunner可以運行某個應(yīng)用,并將其結(jié)果截屏與既定已知正確的結(jié)果截屏相比較,以此測試應(yīng)用的穩(wěn)定性。 4、可擴展的自

19、動化:由于monkeyrunner是一個API工具包,您可以基于Python模塊和程序開發(fā)一整套系統(tǒng),以此來控制Android設(shè)備。除了使用monkeyrunner API之外,您還可以使用標(biāo)準(zhǔn)的Python os和subprocess模塊來調(diào)用Android Debug Bridge這樣的Android工具。運行monkeyrunner 您也可以向monkeyrunner API中添加您自己的類 monkeyrunner工具使用Jython(使用Java編程語言的一種Python實現(xiàn))。Jython允許monkeyrunnerAPI與Android框架輕松的進(jìn)行交互。使用Jython,您可以

20、使用Python語法來獲取API中的常量、類以及方法。使用monkeyrunner,在shell中輸入monkeyerunner,成功進(jìn)入如下所示:tangtang-desktop:$ monkeyrunnerJython 2.5.0 (Release_2_5_0:6476, Jun 16 2009, 13:33:26) Java HotSpot(TM) 64-Bit Server VM (Sun Microsystems Inc.) on java1.6.0_25下面是一個實例: # 導(dǎo)入此程序所需的monkeyrunner模塊from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice # 連接當(dāng)前設(shè)備,返回一個MonkeyDevice對象device = MonkeyRunner.waitForConnection()# 安裝Android包,注意,此方法返回的返回值為boolean,由此您可以判斷安裝過程是否正常,紅色部分為你自己在電腦上的路徑device.installPackage(myproject/bin/MyApplication.apk)# 運行此應(yīng)用中的一個活動

溫馨提示

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

評論

0/150

提交評論