http://www.csdn.net/tag/uiautomatorViewer 最近在學(xué)習(xí)uiautomator,,網(wǎng)上看到的相關(guān)資料比較少,,在這里做一下總結(jié)。
Uiautomator,顧名思義,,是用于ui自動化測試的,,主要是仿真單擊,滑動,,輸入文本等操作,,而不用人為地進(jìn)行操作,如果把一組反復(fù)進(jìn)行的操作用uiautomator實現(xiàn),,那么將大大提高效率,。但是uiautomator使用范圍非常有限,學(xué)習(xí)之后會知道,,在uiautomator中,,每一個ui控件都是UiObject的對象,并沒有提供獲得控件對應(yīng)控件類(android.widget.*)的接口,。所以在uiautomator中,,一個Button和ImageView都是一樣的——都是UiObject的對象。
Uiautomator很簡單,,只要熟悉幾個類就能上手,,類圖如下
接下來是簡單介紹uiautomator的使用步驟,具體可以看官網(wǎng)http://developer./tools/testing/testing_ui.html#prepare 1.創(chuàng)建一個java project,,導(dǎo)入需要的庫或jar包,,如圖
2.創(chuàng)建測試類,該類需繼承UiAutomatorTestCase,,應(yīng)是如下的結(jié)構(gòu) public class MyTestCase extends UiAutomatorTestCase{
public void testXXX() throws UiObjectNotFoundException{ }
public void testXXX() throws UiObjectNotFoundException{ } } 每一個public的test開頭方法就是一個case,。需要注意的是運(yùn)行時方法的調(diào)用順序并不是代碼中的位置順序,而是根據(jù)方法名的ASCII碼大小進(jìn)行順序調(diào)用的,。 3.程序編寫完之后,,生成配置文件 sdk的tool目錄下運(yùn)行: android create uitest-project -n projectName -t targetID -p projectPath 我的運(yùn)行參數(shù)如下,顯示文件成功生成
-t后面是目標(biāo)平臺版本的id,,可通過 android list targets查看,,這里我的andorid.jar和uiautomator.jar是從android-17導(dǎo)入的,,所以選擇對應(yīng)的2,如圖
刷新一下,,在項目的頂層目錄下生成三個配置文件,,如圖
build.xml:編譯可生成項目的jar文件 local.properties:保存了sdk路徑 project.proerties:保存了目標(biāo)平臺版本
4.編譯build.xml生成可以部署到手機(jī)設(shè)備上的項目jar文件 有兩種方式: (1)終端:cd到工程目錄下執(zhí)行ant build (2)Eclipse:將build.xml中的default改為”build“之后,右擊build.xml——>run as——>ant build 此時在工程的bin目錄下就會生成了CalculatorTest.jar PS:我的Eclipse看不到該bin目錄,,試了很多方法都不管用,,有知道的吱一聲啊,謝過,。,。。,。,。。,。
5.將jar部署到手機(jī)并執(zhí)行 adb push CalculatorTest.jar /data/local/tmp adb shell uiautomator runtest CalculatorTest.jar -c CalculatorTestCase jar和類都是可以指定多個,,用空格分開,類名后面追加#MethodName 則只運(yùn)行某一方法,,否則執(zhí)行所有方法 注意:類名必須是全稱,,即包括包名,這里是在默認(rèn)包下 此時會輸出如下信息
current:當(dāng)前運(yùn)行的測試順序編號,,故和方法名有關(guān) class:當(dāng)前運(yùn)行方法所在類的類名 numtests:測試總數(shù),,一個public testXXX方法就是一個測試 test:當(dāng)前測試的方法名 INSTRUMENTATION_STATUS_CODE:測試狀態(tài)碼,一般1是正在測試,,0是測試通過,,-1是錯誤
最后介紹一下uiautomatorViewer這個工具,編寫case是基本都用到它,,這個工具在sdk的tools下,。該工具用于捕捉并解析設(shè)備當(dāng)前界面的組成結(jié)構(gòu)(右上),點(diǎn)擊控件,,會顯示控件的各種詳細(xì)信息(右下),,幫助我們在編程中方便地找到該控件。如圖
|
|
來自: 白雪~~~ > 《APP自動化測試》