點(diǎn)自動(dòng)啟動(dòng)編譯流程:下載所述開(kāi)發(fā)代碼 和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn)行自動(dòng)編譯,生成應(yīng)用程序文件、自動(dòng)化測(cè)試文 件以及其他輔助文件,比如配置腳本等;優(yōu)選的,所述第二服務(wù)器為Jenkins服務(wù)器;
[0053] 第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件通過(guò)分布式處理下發(fā)至不同的測(cè) 試PC機(jī);
[0054]測(cè)試PC機(jī)啟動(dòng)測(cè)試流程,對(duì)應(yīng)用程序文件進(jìn)行測(cè)試,并通過(guò)部署安裝腳本將應(yīng)用 程序文件、輔助文件和自動(dòng)化測(cè)試文件部署至移動(dòng)終端;移動(dòng)終端執(zhí)行自動(dòng)化測(cè)試文件中 的各種自動(dòng)化測(cè)試?yán)瓿蓱?yīng)用程序的自動(dòng)部署和自動(dòng)更新;測(cè)試PC機(jī)獲取移動(dòng)終端的自 動(dòng)化測(cè)試結(jié)果,并將自動(dòng)化測(cè)試結(jié)果回傳至第二服務(wù)器;第二服務(wù)器匯總所述測(cè)試結(jié)果,并 發(fā)送通知郵件,所述通知郵件包括當(dāng)晚的測(cè)試情況。
[0055]所述自動(dòng)編譯過(guò)程具體為:
[0056] 通過(guò)svn export命令下載對(duì)應(yīng)的代碼;
[0057] 通過(guò)sed應(yīng)用程序,解析設(shè)置應(yīng)用程序的版本號(hào)和版本名稱,并根據(jù)當(dāng)前版本號(hào)信 息進(jìn)行版本號(hào)變更;
[0058] 配置ant編譯相關(guān)的參數(shù);
[0059] 使用android update命令更新工程配置文件,設(shè)置是否進(jìn)行混淆編譯;
[0060]設(shè)置應(yīng)用程序簽名配置;
[0061 ]使用ant進(jìn)行編譯打包,生成安裝于移動(dòng)終端的應(yīng)用程序文件和自動(dòng)化測(cè)試文件。
[0062] 所述測(cè)試PC機(jī)對(duì)應(yīng)用程序文件進(jìn)行測(cè)試具體為:
[0063] 調(diào)用robotium自動(dòng)化測(cè)試框架,將自動(dòng)化測(cè)試文件注入至被測(cè)應(yīng)用程序進(jìn)程中以 獲取被測(cè)應(yīng)用程序的界面元素,如文本、按鈕或列表,模擬點(diǎn)擊事件,來(lái)進(jìn)行自動(dòng)化測(cè)試,所 述被測(cè)應(yīng)用程序即安裝于移動(dòng)終端的應(yīng)用程序;范例代碼如下:
[0066] 使用ADB指令,安裝編譯好的被測(cè)應(yīng)用程序文件和自動(dòng)化測(cè)試文件;
[0067] 測(cè)試PC機(jī)執(zhí)行自動(dòng)化測(cè)試?yán)馕瞿_本,調(diào)用各種測(cè)試?yán)?,具體為:
[0068] (1)測(cè)試函數(shù)集合:在一個(gè)文本文件內(nèi),放置各種測(cè)試函數(shù),用來(lái)靈活制定要執(zhí)行 的測(cè)試?yán)皥?zhí)行順序
[0069] OECHO*基本XML文件校驗(yàn)**
[0070] testPackage_BaseFiIeExistVerify :com.my.testapp.FeatureTest
[0071] @ECH0# 關(guān)于 **
[0072] testAbout :com.my.testapp.FeatureTest
[0073] @ECH0# 數(shù)據(jù)管理 **
[0074] TestCaseDelete :com.my.testapp.FeatureTest
[0075] (2)使用解析腳本,解析出對(duì)應(yīng)的測(cè)試函數(shù)名和測(cè)試類,轉(zhuǎn)化成如下命令依次執(zhí)行 自動(dòng)化測(cè)試?yán)?,并將測(cè)試結(jié)果保留在XML文件中:
[0076] adb shell am instrument-e reportFile testPackage_ BaseFiIeExistVerify.xml-e class com. my .testapp. FeatureTestStestPackage_ BaseFileExistVerify-w
[0077] com.my.testapp/com.my.InstrumentationTestRunner.MyInstrumentationTest Run ner
[0078] (3)將生成的測(cè)試結(jié)果,自動(dòng)從設(shè)備拷貝到測(cè)試PC機(jī)上,并通過(guò)Jenkins平臺(tái)顯示 測(cè)試報(bào)告。
[0079]請(qǐng)參閱圖2,本發(fā)明的實(shí)施例二為:一種分布式自動(dòng)構(gòu)建系統(tǒng),包括:
[0080] 第一服務(wù)器1、第二服務(wù)器2、測(cè)試PC機(jī)3以及與測(cè)試PC機(jī)3通訊連接的移動(dòng)終端4, 所述一臺(tái)測(cè)試PC機(jī)3對(duì)應(yīng)多臺(tái)移動(dòng)終端4,用于將應(yīng)用程序文件部署到移動(dòng)終端4并進(jìn)行自 動(dòng)測(cè)試,所述第一服務(wù)器1與第二服務(wù)器2通訊連接,一臺(tái)第二服務(wù)器2與至少兩臺(tái)測(cè)試PC機(jī) 3通過(guò)以太網(wǎng)通訊連接;
[0081 ]第一服務(wù)器1,用于獲取開(kāi)發(fā)代碼或自動(dòng)化測(cè)試?yán)a;并控制整個(gè)數(shù)據(jù)操作過(guò) 程,通過(guò)第一服務(wù)器1打開(kāi)第二服務(wù)器2的業(yè)務(wù)管理界面,啟動(dòng)主機(jī)的業(yè)務(wù)流程;
[0082] 第二服務(wù)器2,用于下載所述開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn) 行自動(dòng)編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;并和多臺(tái)測(cè)試PC機(jī)3進(jìn)行通訊,啟動(dòng)各 測(cè)試PC機(jī)3的自動(dòng)測(cè)試業(yè)務(wù)流程,并將編譯生成的應(yīng)用程序文件和自動(dòng)化測(cè)試文件下發(fā)至 不同的測(cè)試PC機(jī)3;
[0083] 測(cè)試PC機(jī)3,用于對(duì)應(yīng)用程序文件進(jìn)行自動(dòng)測(cè)試,將主機(jī)編譯后的應(yīng)用程序文件和 自動(dòng)化測(cè)試文件部署至移動(dòng)終端4,并獲取測(cè)試過(guò)程中的實(shí)時(shí)日志信息和測(cè)試結(jié)果,返回給 第二服務(wù)器2,從而用戶可以使用第一服務(wù)器1監(jiān)控所有第二服務(wù)器2和測(cè)試PC機(jī)3的運(yùn)行過(guò) 程并查看測(cè)試結(jié)果。
[0084] 綜上所述,本發(fā)明提供的分布式自動(dòng)構(gòu)建方法及系統(tǒng),第二服務(wù)器從第一服務(wù)器 下載開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a,調(diào)用批處理腳本進(jìn)行自動(dòng)編譯生成應(yīng)用程序文件和自 動(dòng)化測(cè)試文件,大大提高了編譯效率,并將自動(dòng)化測(cè)試和應(yīng)用程序結(jié)合起來(lái),通過(guò)分布式下 發(fā)至不同的測(cè)試PC機(jī),測(cè)試PC機(jī)對(duì)應(yīng)用程序文件自動(dòng)測(cè)試后將應(yīng)用程序文件和自動(dòng)化測(cè)試 文件部署至不同的移動(dòng)終端,實(shí)現(xiàn)了多臺(tái)設(shè)備的異步測(cè)試,極大簡(jiǎn)化應(yīng)用程序研發(fā)過(guò)程中 的重復(fù)性工作,并且通過(guò)分布式的處理方式,功能測(cè)試、快速測(cè)試和性能測(cè)試能夠同時(shí)進(jìn) 行,進(jìn)一步提升了自動(dòng)構(gòu)建的效率,移動(dòng)終端進(jìn)行自動(dòng)化測(cè)試,并將測(cè)試結(jié)果反饋給測(cè)試PC 機(jī)以及回傳給第二服務(wù)器,確保良好了的軟件質(zhì)量,有效地完成應(yīng)用程序的自動(dòng)部署和自 動(dòng)更新。
[0085]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā) 明說(shuō)明書(shū)及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括 在本發(fā)明的專利保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種分布式自動(dòng)構(gòu)建方法,其特征在于,包括: 第一服務(wù)器獲取開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a; 第二服務(wù)器下載所述開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn)行自動(dòng)編 譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件; 第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī)。2. 根據(jù)權(quán)利要求1所述的分布式自動(dòng)構(gòu)建方法,其特征在于,還包括:測(cè)試PC機(jī)將應(yīng)用 程序文件和自動(dòng)化測(cè)試文件部署至移動(dòng)終端;移動(dòng)終端執(zhí)行自動(dòng)化測(cè)試文件;測(cè)試PC機(jī)獲 取移動(dòng)終端的自動(dòng)化測(cè)試結(jié)果,并將自動(dòng)化測(cè)試結(jié)果回傳至第二服務(wù)器;第二服務(wù)器匯總 所述測(cè)試結(jié)果。3. 根據(jù)權(quán)利要求1所述的分布式自動(dòng)構(gòu)建方法,其特征在于,所述自動(dòng)編譯過(guò)程具體 為: 下載對(duì)應(yīng)的代碼; 解析設(shè)置應(yīng)用程序的版本號(hào)和版本名稱,并根據(jù)當(dāng)前版本號(hào)信息進(jìn)行版本號(hào)變更; 配置自動(dòng)編譯相關(guān)的參數(shù),調(diào)用批處理腳本進(jìn)行編譯,生成安裝于移動(dòng)終端的應(yīng)用程 序文件和自動(dòng)化測(cè)試文件。4. 根據(jù)權(quán)利要求1所述的分布式自動(dòng)構(gòu)建方法,其特征在于,所述第二服務(wù)器將應(yīng)用程 序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī)后測(cè)試PC機(jī)還會(huì)對(duì)應(yīng)用程序文件 進(jìn)行測(cè)試,具體為: 調(diào)用自動(dòng)化測(cè)試框架,將自動(dòng)化測(cè)試文件注入至被測(cè)應(yīng)用程序以獲取被測(cè)應(yīng)用程序的 界面元素,所述被測(cè)應(yīng)用程序即安裝于移動(dòng)終端的應(yīng)用程序; 調(diào)用ADB指令,安裝所述應(yīng)用程序文件和自動(dòng)化測(cè)試文件; 測(cè)試PC機(jī)執(zhí)行自動(dòng)化測(cè)試文件進(jìn)行自動(dòng)化測(cè)試。5. 根據(jù)權(quán)利要求3所述的分布式自動(dòng)構(gòu)建方法,其特征在于,所述"配置自動(dòng)編譯相關(guān) 的參數(shù)"之后"調(diào)用自動(dòng)編譯腳本進(jìn)行編譯"之前還包括:設(shè)置是否進(jìn)行混淆編譯以及設(shè)置 應(yīng)用程序簽名配置。6. -種分布式自動(dòng)構(gòu)建系統(tǒng),其特征在于,包括:第一服務(wù)器、第二服務(wù)器以及測(cè)試PC 機(jī),所述第一服務(wù)器與第二服務(wù)器通訊連接,一臺(tái)第二服務(wù)器與至少兩臺(tái)測(cè)試PC機(jī)通訊連 接; 第一服務(wù)器,用于獲取開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a; 第二服務(wù)器,用于下載所述開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn)行自 動(dòng)編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;并將所述應(yīng)用程序文件和自動(dòng)化測(cè)試文件 下發(fā)至不同的測(cè)試PC機(jī)。7. 根據(jù)權(quán)利要求6所述的分布式自動(dòng)構(gòu)建系統(tǒng),其特征在于,還包括與測(cè)試PC機(jī)通訊連 接的移動(dòng)終端,所述一臺(tái)測(cè)試PC機(jī)對(duì)應(yīng)至少兩臺(tái)移動(dòng)終端,所述第二服務(wù)器與測(cè)試PC機(jī)通 過(guò)以太網(wǎng)連接,且一臺(tái)第二服務(wù)器對(duì)應(yīng)至少兩臺(tái)測(cè)試PC機(jī); 第二服務(wù)器與至少兩臺(tái)測(cè)試PC機(jī)進(jìn)行通訊,并將應(yīng)用程序文件和自動(dòng)化測(cè)試文件發(fā)送 至對(duì)應(yīng)的至少兩臺(tái)測(cè)試PC機(jī); 各測(cè)試PC機(jī)進(jìn)行自動(dòng)測(cè)試,將主機(jī)編譯后的應(yīng)用程序文件和自動(dòng)化測(cè)試文件部署至移 動(dòng)終端。
【專利摘要】本發(fā)明公開(kāi)了一種分布式自動(dòng)構(gòu)建方法及系統(tǒng),包括第一服務(wù)器獲取開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a;第二服務(wù)器下載所述開(kāi)發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn)行自動(dòng)編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī),大幅縮短多應(yīng)用程序的開(kāi)發(fā)周期,并確保良好的軟件質(zhì)量。
【IPC分類】G06F11/36, H04L29/08, G06F9/445
【公開(kāi)號(hào)】CN105550001
【申請(qǐng)?zhí)枴緾N201510988309
【發(fā)明人】齊上凱, 蘇文理, 張輝極, 吳世雄
【申請(qǐng)人】廈門(mén)市美亞柏科信息股份有限公司
【公開(kāi)日】2016年5月4日
【申請(qǐng)日】2015年12月24日