iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 27
0
Mobile Development

Android × CI/CD 如何用基本的MVVM專案實現 CI/CD 系列 第 27

Day27 jenkins整合Firebase TestLab -1

  • 分享至 

  • xImage
  •  

本篇是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/
有興趣也可以去研究如何串接到自己的流程內

必要條件

  1. 串連Firebase專案(需綁信用卡 否則firebase testlab不能用)
  2. GCP專案
  3. gcloud SDK

另外 你可以搭配google提供的範例來學習
https://codelabs.developers.google.com/codelabs/firebase-test-lab/index.html#0
但是這份其實年久失修 有些GCP語法沒有更新 不能直接運行 所以參考就好
也就是說這篇文章以後也可能遇到一樣的問題

Build app and Test APKs

  1. 開啟Android studio
  2. 開啟範例專案
  3. 在下方選單terminal輸入
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

接著點選 新增建置後工作 -> 封存成品
https://ithelp.ithome.com.tw/upload/images/20191011/20120279mOpGkEWGHr.png

https://ithelp.ithome.com.tw/upload/images/20191011/20120279ODRWiT2bs0.png

path

\app\build\outputs\apk\debug\*.apk , \app\build\outputs\apk\androidTest\debug\*.apk

儲存後點選馬上建置

https://ithelp.ithome.com.tw/upload/images/20191011/2012027953T45VXrrY.png

建置完成後可以找到保存的成品

把這兩個檔案載下來
等等在firebase運行測試時會用到

Firebase
接著到firebase的console新增一個專案
https://console.firebase.google.com/?pli=1

https://ithelp.ithome.com.tw/upload/images/20191011/20120279zXkUlte1v2.png

完成後進到專案
https://ithelp.ithome.com.tw/upload/images/20191011/20120279pHtvv3gvbX.png
付費方案升級成Blaze
啟用後不久你應該會收到mail告知

完成後點選Test lab
https://ithelp.ithome.com.tw/upload/images/20191011/20120279i685n7Q4ON.png

把app-debug.apk丟上去運行測試
https://ithelp.ithome.com.tw/upload/images/20191011/201202790P6MqYEZrA.png

接著會看到如下畫面
https://ithelp.ithome.com.tw/upload/images/20191011/201202794zkIdrSWDb.png
點選右上的執行測試

然後選擇設備測試
https://ithelp.ithome.com.tw/upload/images/20191011/20120279uU7xeDRahK.png

上傳對應的apk
https://ithelp.ithome.com.tw/upload/images/20191011/20120279QHICpK7xpd.png

下一步
接著點選對應的設備之後選下一步
然後測試越多設備就要花越多錢 所以別亂勾選

完成後點選開始測試

運行中
https://ithelp.ithome.com.tw/upload/images/20191011/20120279qQR9CEEkmi.png

運行完成
https://ithelp.ithome.com.tw/upload/images/20191011/20120279prOzl1rYaE.png

然後隨便點一個進去
就可以看到各項數據
包含測試結果 測試運行影片等

https://ithelp.ithome.com.tw/upload/images/20191011/20120279jLRkan9Dna.png

https://ithelp.ithome.com.tw/upload/images/20191011/20120279IqChucFRE3.png

然後這些資料也有存到gcp的storage內
https://ithelp.ithome.com.tw/upload/images/20191011/20120279DAx5xDCmXU.png

你也可以將這些資料組起來生成自己想看的報表

手動運行測試的方式就講到這了

那麼明天會繼續講如何透過gcloud來運作

成功以後再透過jenkins每次建置時自動運行實體裝置測試


上一篇
Day26 透過jenkins建置專案
下一篇
Day28 jenkins整合Firebase TestLab -2
系列文
Android × CI/CD 如何用基本的MVVM專案實現 CI/CD 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言