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