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