本篇是Day26 透過jenkins建置專案的延伸
會使用裡面所用到的專案 或是jenkins設定繼續實作
關於這個題目的篇幅預計兩篇
本篇會講如何使用Firebase的testlab 運行Instrumented test
https://firebase.google.com/docs/test-lab
Firebase testlab簡單來說就是遠端連到google提供的實體手機上運行測試的一項服務
AWS也有提供類似的服務
device Farm https://aws.amazon.com/tw/device-farm/
有興趣也可以去研究如何串接到自己的流程內
必要條件
另外 你可以搭配google提供的範例來學習
https://codelabs.developers.google.com/codelabs/firebase-test-lab/index.html#0
但是這份其實年久失修 有些GCP語法沒有更新 不能直接運行 所以參考就好也就是說這篇文章以後也可能遇到一樣的問題
Build app and Test APKs
gradlew assembleDebug
gradlew assembleDebugAndroidTest
檔案會生成在
\app\build\outputs\apk
主程式APK:debug\app-debug-unaligned.apk
Instrumented test APK:androidTest\debug\app-debug-androidTest-unaligned.apk
知道檔案路徑在哪之後 我們先回到jenkins
job(工作) -> your_job -> config(組態)
然後建置的task先移除connectedAndroidTest
接著點選 新增建置後工作 -> 封存成品
path
\app\build\outputs\apk\debug\*.apk , \app\build\outputs\apk\androidTest\debug\*.apk
儲存後點選馬上建置
建置完成後可以找到保存的成品
把這兩個檔案載下來
等等在firebase運行測試時會用到
Firebase
接著到firebase的console新增一個專案
https://console.firebase.google.com/?pli=1
完成後進到專案
付費方案升級成Blaze
啟用後不久你應該會收到mail告知
完成後點選Test lab
把app-debug.apk丟上去運行測試
接著會看到如下畫面
點選右上的執行測試
然後選擇設備測試
上傳對應的apk
下一步
接著點選對應的設備之後選下一步
然後測試越多設備就要花越多錢 所以別亂勾選
完成後點選開始測試
運行中
運行完成
然後隨便點一個進去
就可以看到各項數據
包含測試結果 測試運行影片等
然後這些資料也有存到gcp的storage內
你也可以將這些資料組起來生成自己想看的報表
手動運行測試的方式就講到這了
那麼明天會繼續講如何透過gcloud來運作
成功以後再透過jenkins每次建置時自動運行實體裝置測試