1. 程式人生 > >Uiautomator自動化測試編寫和除錯---小白入門超詳細

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類去執行測試;