(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的UI自動化測試環境

yangxi_001發表於2014-03-14
部署後執行構建首先會啟動android模擬器,然後進行原始碼構建生成apk檔案,再是安裝apk檔案到模擬器中,最後是構建自動測試程式碼執行自動測試,完成後收集應用的log記錄到hudson中。(下面把android專案的編譯和自動測試放在一塊了,實際使用中可以把android專案的編譯和自動測試的執行新建兩個job,通過依賴關係實現編譯完成生成apk檔案後再執行自動測試)


1、首先安裝hudson外掛Android Emulator Plugin。

該外掛用於啟動android模擬器,安裝apk,收集應用logcat日誌,退出模擬器等。
外掛地址:https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin
功能:
1、通過配置選項設定建立模擬器的sdk版本、螢幕尺寸、解析度、硬體資訊等
2、自動執行android模擬器,等待模擬器完全啟動、自動收集log,關閉模擬器等
3、自動安裝解除安裝應用軟體
4、執行壓力測試工具,並且收集執行結果

2、在hudson上新建一個job。
 
3、安裝android外掛後在job的配置中的Build Environment選項會出現一個Run an Android emulator during build選項,勾選上後可以配置啟動模擬器的一些配置選項。 注意:配置中暫時去掉Use emulator snapshots的勾選,此選項還是會存在bug。
(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
 
 
 
 
4、在build配置中,編寫你需要build 的配置。
配置如下圖:
這裡按順序一共有三個配置資訊,執行順便按照配置的先後來執行。
第一個Invoke Ant是android應用原始碼的編譯,通過編譯後生成apk檔案。
Install Android package 選項是第一個編譯完成後,獲取最新的apk檔案,安裝到模擬器中,同時支援安裝前先解除安裝。
第二個Invoke Ant是編譯自動測試程式碼,以及通過TestNG執行自動測試用例,執行自動測試。
 
(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
 



補充:Jenkins中Windows節點安裝,用於呼叫執行android原始碼編譯,自動測試執行

你的jenkins部署在一臺電腦上,但是自動測試程式碼可能是部署在專門的測試機上,這時候就需要管理新建jenkins節點,實現在jenkins上
方便的管理執行自動測試。
安裝步驟如下:
 
  1. 系統管理-》節點管理   新建一個新的節點
    (jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
     
  2. 輸入節點名稱
  3. 選擇Dumb Slave  點選ok
    (jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
     
  4. 在Slave的配置頁面,輸入如下:

executors的數量,1或多個

Remote FS root 輸入Slave 上的跟目錄,例如c:\jenkins ;一會節點需要安裝相應的軟體會安裝在這個目錄下

Usage選擇:只允許繫結到這臺機器的job

Lunch Method選擇:Launch slave agents via Java Web Start ;這一點比較關鍵

Avaliablitiy選擇:Keep this slave online as much as possible;

然後儲存;

(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
 


      5、然後從具體的需要新增的節點電腦上登陸來husdon。進入當才新建的節點,會看到如下圖所示內容,點選launch,然後執行下載下來的軟體,會在 節點安裝相應的軟體,用於hudson和節點通訊。安裝軟體在前面配置Remote FS root目錄下。安裝成功後會看到下面3中的圖片
(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
 
(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡
 

 
(jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的自動化測試環境 - kevinkong - 風之雲的足跡

相關文章