如何利用jenkins來做android自動化
概述
持續整合是一種軟體開發實踐,即團隊開發成員經常整合他們的工作,通常每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,釋出,自動化測試)來驗證,從而儘快地發現整合錯誤。許多團隊發現這個過程可以大大減少整合的問題,讓團隊能夠更快的開發內聚的軟體。其中包含一些程式碼靜態檢查工具,自動打包和自動測試功能。
持續整合流程
環境配置
啟動Jenkins
1、 安裝jdk
從略,建議1.6或以上版本,配置好環境變數。
2、 安裝tomcat
http://tomcat.apache.org/download-70.cgi
從略,安裝完除錯下tomcat是否正常。
3、 安裝ant
http://ant.apache.org/bindownload.cgi
下載zip包,解壓後配置好環境變數。
4、 安裝jenkins
http://java.net/projects/hudson/downloads/directory/war
下載war包,命名為Jenkins,拷貝到tomcat/webapps目錄下。
5、 安裝Android SDK
http://developer.android.com/sdk/index.html
下載安裝,完成後配置好Android_SDK_HOME環境變數。此步驟主要用於進行android自動化測試,若不進行此項可略過。
安裝完成後啟動tomcat/bin/startup.bat檔案(linux下是startup.sh),在瀏覽器輸入http://localhost:8080/jenkins,8080為tomcat埠,即可訪問jenkins伺服器。
配置Jenkins
1、 JDK配置
新增JDK,指定JDK名字和JAVA_HOME
2、 ANT配置
新增ANT,指定ANT名字和ANT_HOME
3、 Maven配置
從略,本文未使用到Maven,具體配置方法參考Google。
4、 Subversion
選擇1.6版本SVN,勾選Update default Subversion credentials cache after successful authentication
5、 郵件通知
填寫SMTP server、Default user E-mail suffix、System Admin E-mail Address、Jenkins URL、勾選Use SMTP Authentication,填寫User Name、Password、Use SSL、SMTP port、Chareset(UTF-8) 、Default Content Type(預設)、Default Recipients(預設收件人),配置完成後可進行測試郵件。
6、 Jenkins URL
配置該URL,用於別人訪問。
外掛管理
1、 Hudson Subversion Plug-in,jenkins的svn外掛。
2、 Android Emulator Plugin,android模擬器外掛。
3、 JUnit Attachments Plugin,junit測試報告附件外掛。
4、 Email-ext plugin,郵件擴充套件外掛。此處說明下,預設Jenkins只會傳送構建失敗的郵件,我們需安裝此外掛才能自定義不同場景。
5、 Deploy to container Plugin遠端釋出外掛。
自動化測試
打包源工程
ANDROID程式
本小節講訴如何打包一個Android工程,當前使用的是ant進行編譯原始碼。
1、 首先構建一個自由風格的Job。
2、 新增原始碼路徑,選擇所使用的版本控制器,輸入原始碼路徑。
3、 構建觸發器可根據需要選擇是否定時構建。
4、 構建環境,此處Jenkins安裝了Android Emulator Plugin外掛,可以啟動已有模擬器或新增新的模擬器,本文案例中使用真機除錯。
5、 構建,解除安裝手機中原程式 adb –s uninstall com.XXXXXX
6、 生成bulid.xml檔案,-p後面跟工程所在的本地jenkins下路徑
android update project -n *** c:\被測工程Job路徑\workspace
7、 Ant進行編譯程式,並安裝到當前手機中
ant debug install -f c:\被測工程Job路徑\workspace\build.xml
8、 構建後操作,本案例中構建完成後自動啟動構建下一個測試Job
Bulid other projects,選擇測試工程的Job.
打包測試工程
ANDROID程式
本小節講訴如何構建一個Android測試工程,包括郵件傳送和測試報告展示。
1、 構建步驟1-7和Android程式章節一樣,從略。
2、 本文案例中測試程式是通過命令列啟動執行的,所以在此處增加一個批處理執行。P.S. adb shell am instrument -w -e class com.megafon.test.MegafonTest#testDeleteContact com.megafon.test/android.test.InstrumentationTestRunner ,此處是通過批處理來單獨執行一個個的測試用例。避免了Junit3的無序執行的問題。
3、 刪除Workspace中原來存在的測試報告檔案,一般不刪除也會覆蓋。
如何讓測試程式生成xml格式的測試報告,其他文章會重點介紹。
4、 從手機中拷貝測試報告,最終測試是在手機上執行,所以報告也生成在手機中,使用adb pull命令把測試報告全部拷貝到workspace下制定目錄。
5、 構建後操作,釋出測試報告,如果報告中包含附件,此處使用到JUnit Attachments Plugin外掛。
6、 郵件通知,此處使用到Email-ext plugin外掛,前面的預設,直接使用我們在系統管理裡面設定的預設值。
7、 點選右下角高階按鈕,可選擇不同場景下傳送郵件。
8、 測試結果展示,在本次構建的控制檯可以顯示當前所有的構建日誌。
9、測試報告點選Test Result可以顯示所有測試記錄。
相關文章
- Android Jenkins自動化構建之路AndroidJenkins
- jenkins 自動化流程Jenkins
- 如何做Serverless自動化部署Server
- Jenkins+Gradle 實現 Android 自動化構建JenkinsGradleAndroid
- 用 Jenkins 自動化構建 Android 和 iOS 應用JenkinsAndroidiOS
- vue 自動化部署 jenkins 篇VueJenkins
- Docker 之 Jenkins自動化部署DockerJenkins
- 如何用Postman做介面自動化測試Postman
- 如何用Python做自動化特徵工程Python特徵工程
- 如何利用tox打造自動自動化測試框架,看完就懂框架
- Mac 環境下 Android 使用 Jenkins 構建自動化打包MacAndroidJenkins
- 如何利用 RPA 實現自動化獲客?
- jenkins配置android自動打包平臺JenkinsAndroid
- Jenkins 自動化安裝外掛Jenkins
- 陷入jenkins自動化部署的坑Jenkins
- jenkins iOS自動化打包分發JenkinsiOS
- 如何從0開始做自動化測試?
- 低程式碼如何推動自動化未來
- 有誰做 flutter 的自動化的嗎?出來聊聊Flutter
- 利用tox打造自動自動化測試框架框架
- 自動化專案Jenkins持續整合Jenkins
- Jmeter+Ant+Jenkins介面自動化框架JMeterJenkins框架
- jenkins介面、UI自動化持續整合JenkinsUI
- 使用Jenkins自動化部署Java專案JenkinsJava
- jenkins自動化專案部署實戰Jenkins
- 關於jenkins自動化打包探索Jenkins
- GitLab + Jenkins + ACK 自動化部署方案GitlabJenkins
- Jenkins自動化前端專案構建Jenkins前端
- What?JMeter做UI自動化!JMeterUI
- 如何使用ChatGPT來自動化Python任務ChatGPTPython
- jenkins + GitHub 實現專案自動化部署JenkinsGithub
- 基於Jenkins Pipeline自動化部署Jenkins
- Jenkins + Docker + ASP.NET Core自動化部署JenkinsDockerASP.NET
- Jmeter+Ant+Jenkins介面自動化框架(續)JMeterJenkins框架
- Jenkins敏捷開發 自動化構建工具Jenkins敏捷
- 乞丐版自動化部署 jenkins 環境搭建Jenkins
- Jenkins和maven自動化構建java程式JenkinsMavenJava
- jenkins+gitlab + 蒲公英實現 android 應用自動化打包分發JenkinsGitlabAndroid