參考:http://www.2cto.com/kf/201610/559031.html
在Eclipse中編寫,新建java程序而不是Android程序
(其中截圖都為windows下,同Linux)
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 -t -path
解釋:
是將來生成jar包的名字;
path是我們工程的路徑地址,我們工程路徑在:F:\lianxi\workspace\GldProject;
sdk-id是androidlist查看到的;
舉例:android create uitest-project -n AutoRunner(測試工程名) -t 1 -p F:\lianxi\workspace\GldProject
命令運行之后,在工程的根目錄下生成build.xml文件,圖見下:
(3)編譯生成jar包(工程目錄下)
cmd進入到工程目錄下(工程目錄就是我們的文件保存路徑),然后運行ant build;
(若未裝ant,輸入命令:sudo apt install ant)
最后會顯示build成功
Build成功之后,在工程bin目錄下生成jar文件,我們5.(2)中命名為AutoRunner.jar的文件:
(4)將jar包push到手機
將電腦中的AutoRunner.jar包自動發送到手機,我們不需要發送手機,直接通過push命令就可以將包放入手機;
命令:adb push 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 -c <包名.類名>
舉例:adb shell uiautomator runtest AutoRunner.jar -c testPackage.TestClass
附:包名類名簡圖:
注意:包名.類名可不能寫錯.以上就完成了,uiautomator自動化測試;
以上是最麻煩的在dos環境運行的方式,接下來我們可以借助UiAutomatorHelper.java類去執行測試;