標籤:res workspace 事件操作 條件 shell tomato 需要 架構 執行命令
Android自動化架構常用的有很多,本身也提供了很多自動化測試架構,每個都有其優勢和不足 。當然對於我們做UI自動化測試來說,簡單易用即可。
UiAutomator也是Android提供的自動化測試架構,基本上支援所有的Android事件操作,且不需要測試人員瞭解代碼實現細節,測試人員可以用uiauto馬投入viewer抓取app頁面的控制項屬性,不需要看源碼。基於java,測試代碼結構相對簡單,且容易上手,學習成本不高,一次編譯,所有裝置或模擬器都能運行測試,能跨app。當然,不足是:只支援sdk16及以上,不支援Hybird app、webapp。下面,我們來一個小例子,進行說明uiautomator的環境搭建和使用。
一、環境準備
1. 安裝JDK,必要條件。
2. 下載sdk/adt(android所需,目前adt內建sdk和eclipse,API需要16以上),配置環境變數:先建立ANDROID_HOME,然後在path中添加%ANDROID_HOME%\tools;
3. 安裝ANT工具,並配置環境變數:先建立ANT_HOME變數,然後在path中添加%ANT_HOME%\bin;測試是否成功,運行-ant。
4. 安裝Eclipse,並安裝adt外掛程式。
二、建立Eclipse project
1. 開啟Eclipse,new-建立java project,輸入project 名 UIAutomator,點擊finish。
2. 添加Android庫
找到路徑sdk\platforms\android-20下面的android.jar和uiautomator.jar,copy到project的lib下。
把Android.jar 和uiautomator.jar build path中來。
3. 建立第一個Demo程式
代碼中,寫入 getUiDevice().pressHome();一行代碼進行測試。
4. 查看sdk ID
cmd進入sdk\tools\ 目錄下,運行命令:android list,查看API 大於15的SDK的ID值,及當前已安裝Android版本,當前是1
5. 產生bulid檔案
在\sdk\tools\目錄下,運行命令:android create uitest-project -n <name> -t <android-sdk-ID> -p <path>
其中name為將來產生的jar包的名字,可以自己定義,android-sdk-ID為上一步驟看到的1,path是project的路徑名稱,android create uitest-project -n first -t 1 -p E:\workspace\UIAutomator
運行命令後,將會在工程的根目錄下產生build.xml檔案
6.編譯產生jar
cmd進入項目的project目錄,然後運行ant build,使用ant編譯產生jar,執行如下:
在bin目錄下產生rar檔案
7. push並運行jar
adb push <jar檔案路徑> data/local/tmp
實際執行命令為:adb push E:\workspace\UIAutomator\bin\first.jar data/local/tmp
8. 運行jar檔案
adb shell uiautomator runtest <jar檔案名稱> -c <包名.類名>
實際運行命令為:adb shell uiautomator runtest first.jar -c com.iu.android.TestPage.TestDemoOne(注意不要寫錯包名和類名),可以看到手機會按照Runner中的步驟自動執行。
Android UiAutomator環境搭建及使用