Uiautomator自動化測試編寫和除錯---小白入門超詳細
Uiautomator建立自動化測試專案
1.建立java專案
(1)選擇File-New-JavaProject
(注意:是java proect)
(2)輸入Project Name
輸入Project name:GldTest,選擇JRE自己的版本,點選Next,下一步
(3)新增Android庫
路徑sdk\platforms\android-19下的android.jar和uiautomator.jar(儘量18以上);
選擇Add External TARS—android.jar,uiautomator.jar兩個jar包加入-OK;
新增android-list之後樣式:
(4)新增JUnit庫:
Libraries-AddLibrary-Junit-Junit4-Finash,新增AddLibrary,選擇JUnit之後再選擇JUnit4,點選Finish;
(5)新增android庫和JUnit4之後樣式
(6)另一種方式新增Android庫和JUnit4
點選專案名字右擊—BuildPath—Configure Build Path……
以上環境建立中之後,我們開始建包和類,開始我們的第一個專案;
2.新增包Package並命名
一般是先有專案,專案下有個src,src下建包,包裡放我們寫的類;
(1)點選src右擊-New—Package
(2)輸入包名
Name:testPackage-點選Finish;注意:包名一般第一個小寫,之後英文第一個首字母大寫;
3.包下建類Class
(1)新增類
右擊testPackage-New-Class,新建一個類:
(2)輸入類名:
Name:TestClass,然後點選Finish;類名:一般第一個字母大寫,採用駝峰式命名;
4.類中寫程式碼
剛開始接觸,我們寫一個簡單的程式碼,實現手機桌面點選“時鐘”進入即可;(由於大家剛接觸,所以我們就寫簡單的,後續我們會加深)
(1)啟動uiautomator.bat定位“時鐘”元素
首先確定電腦已經通過USB連線上手機;然後我們要知道通過哪些方式能夠找到“時鐘”,然後才能點選“時鐘”;
開啟我們的android-skd安裝目錄,在tools下找到點選uiautomator.bat,點選啟動,等待幾秒,就會彈出我們的手機介面,我們用滑鼠點選“時鐘”,右側就會有相應的屬性和引數;
頁面中我們看到text值顯示著“時鐘”所以我們採用text屬性,去定位找“時鐘”;在實際操作中我們還可以通過index、resource-id、class、package、content-desc去定位元素,或者多個一起使用去定位元素,後續我們再說,今天我們用text去定位,需注意,如果大家看到介面text後是一些???問號的話,不是我們的工具有問題,是手機系統版本有問題,如果能升級就升級,安卓4.4.2以下是不支援text屬性的;
(2)寫程式碼
程式碼寫好之後,我們要開始去執行我們的程式碼;
5.執行程式碼步驟
(1)查詢Sdk的id
計算機-執行-cmd進入到自己sdk\tools\目錄下,輸入android list(安卓建立工程時我選擇是19,所以我要找19的id)
(2)建立build檔案(sdk\tools\下)
sdk\tools\目錄下,輸入以下命令:
命令:
android create uitest-project –n <name> -t<android-Sdk-id> -p <path>
解釋:
<name>是將來生成jar包的名字;
path是我們工程的路徑地址,我們工程路徑在:F:\lianxi\workspace\GldProject;
sdk-id是androidlist檢視到的;
舉例:androidcreate uitest-project -n AutoRunner -t 1 -p F:\lianxi\workspace\GldProject
命令執行之後,在工程的根目錄下生成build.xml檔案,圖見下:
(3)編譯生成jar包(工程目錄下)
cmd進入到工程目錄下(工程目錄就是我們的檔案儲存路徑),然後執行ant build;
最後會顯示build成功
Build成功之後,在工程bin目錄下生成jar檔案,我們5.(2)中命名為AutoRunner.jar的檔案:
(4)將jar包push到手機
將電腦中的AutoRunner.jar包自動傳送到手機,我們不需要傳送手機,直接通過push命令就可以將包放入手機;
命令:adb push <jar檔案所在路徑> data/local/tmp (意思就是將電腦中AutoRunner.jar檔案放到手機data/local/tmp目錄下)
舉例:adb push F:\lianxi\workspace\GldProject\bin\AutoRunner.jardata/local/tmp
(5)執行jar檔案
命令:adb shell uiautomator runtest <jar檔名>-c <包名.類名>
舉例:adb shell uiautomator runtest AutoRunner.jar -c testPackage.TestClass
附:包名類名簡圖:
注意:包名.類名可不能寫錯.以上就完成了,uiautomator自動化測試;
以上是最麻煩的在dos環境執行的方式,接下來我們可以藉助UiAutomatorHelper.java類去執行測試;