關於 自動化測試 其實並不是很難 主要環境配置起來 很麻煩 網上有不少部落格 但有些細節沒有說到 反倒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 如果你要寫指令碼可以用觸動精靈 挺好用的 兩天就能寫個功能完善的指令碼