Uiautomator-1.0入門

世界美景發表於2017-11-03

關於 自動化測試   其實並不是很難   主要環境配置起來 很麻煩   網上有不少部落格 但有些細節沒有說到 反倒API說了一大推  環境搭建起來了 其他就很簡單了


我們會用到 ANT  可以把 寫的測試類打成Jar包  Uiautomator-1.0 並不可以直接執行到手機裡 需要藉助ant 打成jar包的形式 Push到手機裡  在透過命令來執行 比較反人類 說真的 不推薦使用  Uiautomator2.0已經出來了  還是2.0好點

首先下載   ANT  在配置 環境變數    下載完了直接解壓就行 最好在C目錄(反正也不大)  全英文

點選我的電腦   系統屬性   高階系統設定    環境變數

 ANT_HOME 為命名   後面是ant存放的路徑 



ANT_HOME: C:\ant\apache-ant-1.9.2                          

CLASSPATH: %ANT_HOME%\lib

PATH: %ANT_HOME%\bin

 

這樣我們環境變數就配置好了 可以進行下一步了


我是用的eclipse IDE看個人意願 (其實我最喜歡AS了)

新建專案 不用我說 隨便建個class寫就行  注意minSdkVersion不要低於16  16才有的自動化測試


測試程式碼  注意編碼 要UTF-8 不要用GBK 會報錯  對中文支援不是很好



    public  void testDemo() throws Exception{
        //進入操作前,先用Home鍵進入待機介面  
         getUiDevice().pressHome();  
        
        UiObject object = new UiObject(new UiSelector().text("設定"));
        object.click();
       

    }

 

接著就開始複雜的命令了   之前配置的ant 也可以用上了


1 找到自己的IDE 所在的目錄  一直進到 tools裡  複製全路徑  在到CMD 進入到目錄下 輸入android list進行查詢android 版本對應的id 值 


我的android 當前的ID值 為10  記錄下來 下一步會用到


2 接著下一步的操作還在tools檔案下 進行操作  CMD 接著輸入命令android create uitest-project -n <name> -t <android-sdk-ID> -p <project_path>

比如:
    android create uitest-project -n Checker-t 10 -p G:\Ui\src\com\example\ui\Demo

name  就是要生成最後Jar包的名字   android sdk id  顧名思義 就是剛才我們查詢到的 id值  最後project_path 就是測試類所在的全路徑  此命令成功後會在 專案的根目錄下生成 build.xml檔案   如果沒有成功查詢之前的操作 路徑 以及id值是否正確



3 最後一步 CDM 進入到 測試工程目錄  在CMD 輸入 ant build  成功後會在 工程的bin 目錄下 出現jar包



bin 目錄下的jar 包就是我們寫好的指令碼了   你可以直接push到手機裡 也可以透過QQ的手機助手進行傳送

將jar包push到手機data/local/tmp目錄下,對應的命令是:

adb push <jar檔案路徑> data/local/tmp

必須要push到data/local/tmp   QQ傳送的朋友 可以下載個RE檔案管理  進行剪下  或者用手機自帶的


最後執行 jar包  adb shell uiautomator runtest <jar檔名> -c <工程中的類名(包含包名)>

例:

adb shell uiautomator runtest Checker.jar -c com.example.ui.Demo



顯示OK 就是成功了 就會神奇的看到設定被點開了 之後你想怎麼寫都行了 可以查詢相關API  其實Uiautomator本質就是 給開發人員用的測試  不論1.0 還是 2.0  如果你要寫指令碼可以用觸動精靈 挺好用的 兩天就能寫個功能完善的指令碼