前言:
UI Recorder支援無線native app(Android, iOS)錄制, 基于macaca實作:
https://macacajs.com/本次教程隻針對無線native app(Android),仍然是windows系統
步驟一:全局安裝macaca
執行cmd指令:npm i -g macaca-cli
如果看到如下可愛的圖案,那恭喜你安裝成功啦!重新安裝則會覆寫更新。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuUjYxQTNjRTZ1EjY3UGMzUGMhhzNzcDN3MWN3cjNyQTMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
步驟二:Android 環境準備
1、
安裝 JDK,要求 1.8 或更高版本
2、安裝 Android SDK Build-tools 25.0.2、API25、Android Support Repository(此處注意Build-tools應和API互相對應)
3、若Android SDK無法更新,請設定tools-option,網址:mirrors.neusoft.edu.cn,端口:80,見下圖。
3、安裝Android NDK(下載下傳位址:連結: https://pan.baidu.com/s/1pLODwx1 密碼: jgsb)
下載下傳zip檔案,解壓到本地,并設定ANDROID_NDK_HOME,加入PATH中。
4、安裝
Gradlehttps://gradle.org/releases/,在此頁面下載下傳zip包,解壓并加入環境變量(在PATH中加入%GRADLE_HOME%\bin)。
5、安裝
UIAutomatorWD執行cmd指令:npm i uiautomatorwd --save
6、準備 App 包:如需要測試 Android 應用,請使用.apk格式的包。
步驟三:安裝驅動(不同驅動适應不同平台的支援)
驅動可以按照自身需要選擇性的安裝:
Android的安裝指令:$npm i macaca-android -g
步驟四:環境檢查
執行cmd指令:macaca doctor,可以檢查環境是否配置成功。
如下圖所示則表示環境均配置正常,如果有标紅提示,則需要對應處理。
步驟五:開始手機裝置錄制
1、檢查adb裝置連接配接
執行cmd指令:adb devices,頁面列出你目前連接配接計算機的安卓裝置(包括模拟器)
2、初始化配置UI Recorder--mobile
執行cmd指令:uirecorder init --mobile,初始化配置,第一次試用,可一直回車,IP預設為127.0.0.1,端口預設為4444。
3、啟動Macaca server
執行cmd指令:macaca server --port 4444 --verbose
4、錄制腳本
執行cmd指令:uirecorder --mobile sample/test.spec.js
開始錄制腳本,根據需要自行填寫。本次截圖的測試腳本為sample目錄下的test.spec.js檔案,app路徑需要自行填寫需要測試的apk檔案路徑。
打開錄制浏覽器的速度較慢,請耐心等待~
此時會打開一個chrome,用來錄制你的操作;
手機此時也會自動安裝并打開app,你需要在手機中校驗Recorder的錄制是否正确。
然後直接在浏覽器中錄制操作流程,可看到頁面随時有提示:“執行成功”;完成一個流程後,點選結束錄制。
5、檢視已錄制的腳本檔案
結束錄制後,可在檔案夾sample中看到該腳本,如下圖所示。
6、回放腳本
執行cmd指令:macaca run -p 4444 -d sample/test.spec.js --verbose
此處sample/test.spec.js是剛剛命名的儲存下來的錄制檔案
macaca會在手機中重裝你的app,然後執行你剛剛錄制的操作,即可在cmd視窗中檢視回放腳本的步驟,執行時間,執行結果等。
步驟六:運作腳本
執行cmd指令:
1、運作所有腳本:run.bat
2、運作單個腳本:run.bat sample/test.spec.js
步驟七:檢視測試報告
運作腳本後,會自動儲存測試報告,在目錄reports下index.html、index.xml、index.json
作者:
擱淺出處:
http://www.cnblogs.com/xiaoxi-3-/如果對您有幫助,請關注我的同名簡書:
https://www.jianshu.com/u/da1677475c27本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。