使用 flow.ci 實現 Android 自動化測試與持續整合
在上篇文章——如何實現 Android 應用的持續部署中,我們使用的是 flow.ci + Github + fir.im 實現 Android 應用的持續部署。對於 Android 開發者,他們可能會在整個過程使用 Android 模擬器進行自動化測試。
所以,這次我們通過啟動在 flow.ci 中的 Android 模擬器外掛,同時將 connectedCheck 命令新增到構建外掛的預設指令碼中,以此來實現 Android 應用自動化測試與持續整合。
PS:如果您已經閱讀過Android的持續部署指南,或者你已經知道 flow.ci 的基礎操作,請直接跳到第 7 步:)
瞭解 flow.ci
flow.ci 是融入了 workflow 機制的持續整合(CI)服務,也可以理解為自動化流程平臺,除了整合程式碼、編譯、測試之外,還可以整合常用的工具、靈活自定義流程。1 分鐘即可完成開發測試環境搭建,開啟第一個 Build。
在 flow.ci,我們把專案的開發工作流稱為 flow ,每個 flow 由觸發器和外掛構成。系統根據不同的語言和環境提供對應的 flow 模版,觸發器和外掛。Flow 的自定義非常簡單,只需要 One-Click 即可新增你需要的外掛。它可能是一個程式碼靜態分析檢測工具(比如 Eslint),可能是一個資料庫(比如 Mysql/MongoDB/Redis),也可能是一個訊息通知外掛(比如 郵件/Slack)等。
更專注於程式碼,其他的瑣事交給 flow.ci 自動化完成吧 :)
搭建 Android 自動化測試與持續部署
1.建立專案
2.關聯程式碼倉庫
3.選擇要整合的專案
4.開始你的第一個 Flow
選擇專案型別 Android ,開啟預設的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。
5.選擇 jdk 版本,單擊建立專案
選擇專案語言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多語言、多版本的開發測試環境。
後續會支援更多語言。
6.點選“+”新增外掛,自定義 flow
7.在外掛列表中搜尋 Android 模擬器外掛 —— Android Emulator,選擇新增
8.選擇 Android SDK 版本與 Android CPU 型別
預設生成外掛不包括測試用例執行命令,因此你需要做簡單自定義指令碼,以便正常執行測試。
9.點選“+”,從外掛列表中選擇新增自定義指令碼外掛。
然後,刪除預設 flow 模板裡的 Build 外掛。
在自定義指令碼外掛中,新增“connectedCheck”命令或者自己定義的 gradle 命令(提示:綠框)。同時可以通過點選標題欄修改文字來重新命名該外掛。然後,點選儲存。
10.Bingo!你的 Flow 已準備就緒。現在,提交程式碼開始 Build。
實現這套自動化流程之後,只需要開發新功能,提交程式碼即可。圖為跑完整個自動化測試和持續整合的流程,健康的專案狀態。
繁瑣可循的任務就應該工具化自動化,這是程式設計師們的不懈追求。如果你也想體驗 Android 應用的自動化測試與持續整合,來 http://flow.ci 首頁提交申請,邀請碼隨後會傳送到郵箱。
期待你的反饋。
Happy Building! flow.ci team
相關文章
- 基於 flow.ci 實現 PHP 專案自動化持續整合PHP
- SoapUI實踐:自動化測試、壓力測試、持續整合UI
- 持續整合(CI)、自動化構建和自動化測試--初探 .
- 知物由學 | SDK API自動化測試與持續整合API
- 思考如何將自動化測試加入持續整合中
- 新夢想幹貨分享——持續整合的自動化測試
- Jenkins+Python自動化測試持續整合詳細教程JenkinsPython
- jenkins+ant+jmeter介面自動化的持續整合測試框架JenkinsJMeter框架
- Gitlab Runner實現NetCore自動化持續整合GitlabNetCore
- Android App持續整合效能測試:啟動流量(1)AndroidAPP
- 本地Jenkins.war+SVN實現全自動化持續整合Jenkins
- flow.ci + Github + Slack 一步步搭建 Python 自動化持續整合GithubPython
- vuepress與travis-cli持續整合自動化部署Vue
- Apworks框架實戰(三):單元測試與持續整合框架
- 使用 Xcode Server 持續整合 & 打包測試XCodeServer
- 自動化專案Jenkins持續整合Jenkins
- jenkins介面、UI自動化持續整合JenkinsUI
- iOS 持續整合系列 - 自動化 Code ReviewiOSView
- iOS 持續整合系列 – 自動化 Code ReviewiOSView
- .net持續整合測試篇之Nunit引數化測試
- iOS使用fastlane實現持續整合iOSAST
- 使用 Postman 實現 API 自動化測試PostmanAPI
- 使用流水線外掛實現持續整合、持續部署
- 試著使用 jmeter 實現介面自動化測試JMeter
- Android自動化測試工具實現簡述Android
- Android UI 自動化測試實現過程AndroidUI
- 軟體測試持續整合的方法實踐
- Jenkins上實現Python + Jenkins + Allure Report 介面自動化測試持續整合,並生成allure-report測試報告JenkinsPython測試報告
- 持續測試跟自動化測試的這些區別你知道嗎?
- 《轉載》Jenkins持續整合-自動化部署指令碼的實現《python》Jenkins指令碼Python
- CI Weekly #11 | 微服務場景下的自動化測試與持續部署微服務
- Django測試與持續整合:從入門到精通Django
- Jenkins+SVN+fir.im+BugHD搭建持續整合,實現IOS自動化打包、Bug實時動態監測JenkinsiOS
- ET-ci — 全自動軟體測試排程(持續整合)平臺
- Linux 核心的持續整合測試Linux
- (jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的UI自動化測試環境JenkinsAndroidUI
- Docker與自動化測試及其測試實踐Docker
- Junit測試Android自動化測試Android