本發(fā)明涉及通信技術(shù)領(lǐng)域,具體而言,涉及一種測(cè)試包下發(fā)方法和裝置。
背景技術(shù):
在iOS應(yīng)用開發(fā)完成之后發(fā)布到應(yīng)用市場(chǎng)之前需要對(duì)應(yīng)用進(jìn)行全面的功能測(cè)試,而進(jìn)行功能測(cè)試必須要給測(cè)試人員提供安裝包供他們安裝。一般開發(fā)人員給測(cè)試人員提供安裝包的方法主要是通過Xcode(iOS/Mac OS平臺(tái)集成開發(fā)工具)或腳本生成安裝包,然后手動(dòng)將此安裝包通過郵件、即時(shí)聊天工具等途徑發(fā)放到測(cè)試人員手中,測(cè)試人員拿到安裝包之后需要轉(zhuǎn)存的自己的電腦中,通過iTools(或蘋果手機(jī)助手類軟件)等工具將手機(jī)通過專用數(shù)據(jù)線與電腦連接之后手動(dòng)安裝。但是,開發(fā)人員和測(cè)試人員都要投入大量的時(shí)間和精力來(lái)參與,并且需要借助耗時(shí)且不易操作的工具來(lái)傳輸和安裝應(yīng)用程序,效率很低。
通過持續(xù)集成工具(Jenkins)實(shí)現(xiàn)在線打包并輸出到web服務(wù)器上,再將打包結(jié)果和下載地址通過郵件通知相關(guān)的測(cè)試人員,測(cè)試人員下載并存儲(chǔ)到自己的電腦之后,通過數(shù)據(jù)線將測(cè)試設(shè)備與電腦連接,通過iTools等工具手動(dòng)安裝。雖然此方案中將打包的工作由開發(fā)人員移交給了持續(xù)集成工具,減少了人工參與的環(huán)節(jié),但仍需要測(cè)試人員現(xiàn)在安裝包并手動(dòng)安裝?;蛘咄ㄟ^持續(xù)集成工具(Jenkins)實(shí)現(xiàn)在線打包輸出安裝包之后通過第三方平臺(tái)服務(wù)(如蒲公英、fir等)提供的接口API上傳至第三方服務(wù)器上,之后這些平臺(tái)都會(huì)生成二維碼,然后Jenkins會(huì)將此二維碼通過郵件的形式發(fā)放給測(cè)試人員,測(cè)試后人員收到郵件之后直接通過測(cè)試設(shè)備上的二維碼掃描工具掃描此二維碼之后即可進(jìn)行安裝,大大的減少了相關(guān)人員參與的環(huán)節(jié),提高了效率。但是,安裝包上傳到第三方服務(wù)器上,安裝包可能包含一些發(fā)行包中沒有的敏感信息,若安裝包被破解,敏感信息被竊取,將會(huì)給開發(fā)者帶來(lái)不可估量的麻煩,同時(shí),由于網(wǎng)絡(luò)環(huán)境的影響,在不穩(wěn)定的情況下經(jīng)常出現(xiàn)安裝失敗的情況。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種測(cè)試包下發(fā)方法和裝置,以力圖解決或者至少緩解上面存在的問題。
第一方面,本發(fā)明提供一種測(cè)試包下發(fā)方法,該方法包括:
將測(cè)試包傳輸至軟件測(cè)試工具中的第一指定文件夾中,接收所述軟件測(cè)試工具根據(jù)所述測(cè)試包生成的測(cè)試包內(nèi)網(wǎng)下載地址;
將所述測(cè)試包內(nèi)網(wǎng)下載地址存儲(chǔ)至版本控制倉(cāng)庫(kù);
將所述版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器,接收所述版本控制服務(wù)器根據(jù)所述版本控制倉(cāng)庫(kù)生成的測(cè)試包網(wǎng)頁(yè)地址;
將所述測(cè)試包網(wǎng)頁(yè)地址寫入測(cè)試包下載網(wǎng)頁(yè)文件中,并將所述測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器,接收所述內(nèi)網(wǎng)服務(wù)器根據(jù)所述測(cè)試包下載網(wǎng)頁(yè)文件生成的測(cè)試包網(wǎng)頁(yè)下載地址;
生成包括所述測(cè)試包網(wǎng)頁(yè)下載地址的二維碼圖片并將所述二維碼圖片下發(fā)至測(cè)試人員。
可選地,在根據(jù)本發(fā)明的方法中,所述將所述測(cè)試包內(nèi)網(wǎng)下載地址存儲(chǔ)至版本控制倉(cāng)庫(kù)包括:
將所述測(cè)試包內(nèi)網(wǎng)下載地址寫入數(shù)據(jù)存儲(chǔ)文件中,將所述數(shù)據(jù)存儲(chǔ)文件存儲(chǔ)至所述版本控制倉(cāng)庫(kù)。
可選地,在根據(jù)本發(fā)明的方法中,所述將所述版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器,包括:
將所述版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器中的第二指定文件夾中。
可選地,在根據(jù)本發(fā)明的方法中,所述將所述測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器包括:
將所述測(cè)試包下載網(wǎng)頁(yè)文件傳輸至所述內(nèi)網(wǎng)服務(wù)器中的第三指定文件夾中。
可選地,在根據(jù)本發(fā)明的方法中,所述將所述二維碼圖片下發(fā)至測(cè)試人員包括:
將所述二維碼圖片以郵件形式發(fā)送至測(cè)試人員,以便由所述測(cè)試人員利用測(cè)試設(shè)備掃描所述二維碼圖片獲取測(cè)試包。
第二方面,本發(fā)明提供一種測(cè)試包下發(fā)裝置,該裝置包括:
第一通信模塊,用于將測(cè)試包傳輸至軟件測(cè)試工具中的第一指定文件夾中,接收所述軟件測(cè)試工具根據(jù)所述測(cè)試包生成的測(cè)試包內(nèi)網(wǎng)下載地址;
第二通信模塊,用于將所述測(cè)試包內(nèi)網(wǎng)下載地址存儲(chǔ)至版本控制倉(cāng)庫(kù);
第三通信模塊,用于將所述版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器,接收所述版本控制服務(wù)器根據(jù)所述版本控制倉(cāng)庫(kù)生成的測(cè)試包網(wǎng)頁(yè)地址;
第四通信模塊,用于將所述測(cè)試包網(wǎng)頁(yè)地址寫入測(cè)試包下載網(wǎng)頁(yè)文件中,并將所述測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器,接收所述內(nèi)網(wǎng)服務(wù)器根據(jù)所述測(cè)試包下載網(wǎng)頁(yè)文件生成的測(cè)試包網(wǎng)頁(yè)下載地址;
二維碼處理模塊,用于生成包括所述測(cè)試包網(wǎng)頁(yè)下載地址的二維碼圖片并將所述二維碼圖片下發(fā)至測(cè)試人員。
可選地,在根據(jù)本發(fā)明的裝置中,所述第二通信模塊:
還用于將所述測(cè)試包內(nèi)網(wǎng)下載地址寫入數(shù)據(jù)存儲(chǔ)文件中,將所述數(shù)據(jù)存儲(chǔ)文件存儲(chǔ)至所述版本控制倉(cāng)庫(kù)。
可選地,在根據(jù)本發(fā)明的裝置中,所述第三通信模塊:
還用于將所述版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器中的第二指定文件夾中。
可選地,在根據(jù)本發(fā)明的裝置中,所述第四通信模塊:
還用于將所述測(cè)試包下載網(wǎng)頁(yè)文件傳輸至所述內(nèi)網(wǎng)服務(wù)器中的第三指定文件夾中。
可選地,在根據(jù)本發(fā)明的裝置中,所述二維碼處理模塊:
還用于將所述二維碼圖片以郵件形式發(fā)送至測(cè)試人員,以便由所述測(cè)試人員利用測(cè)試設(shè)備掃描所述二維碼圖片獲取測(cè)試包。
根據(jù)本發(fā)明的技術(shù)方案,將測(cè)試包存儲(chǔ)在內(nèi)網(wǎng)服務(wù)器,通過掃描二維碼從內(nèi)網(wǎng)服務(wù)器獲取測(cè)試包,避免上傳到第三方服務(wù)器帶來(lái)的安全隱患,同時(shí)保證了安裝的穩(wěn)定性。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明的測(cè)試包下發(fā)裝置的示例計(jì)算設(shè)備100的框圖;
圖2示出了本發(fā)明實(shí)施例所提供的一種測(cè)試包下發(fā)方法的流程圖;以及
圖3示出了本發(fā)明實(shí)施例所提供的一種測(cè)試包下發(fā)裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的測(cè)試包下發(fā)裝置駐留在計(jì)算設(shè)備中,圖1布置為實(shí)現(xiàn)根據(jù)本發(fā)明的測(cè)試包下發(fā)裝置的示例計(jì)算設(shè)備100的框圖。在基本的配置102中,計(jì)算設(shè)備100典型地包括系統(tǒng)存儲(chǔ)器106和一個(gè)或者多個(gè)處理器104。存儲(chǔ)器總線108可以用于在處理器104和系統(tǒng)存儲(chǔ)器106之間的通信。
取決于期望的配置,處理器104可以是任何類型的處理,包括但不限于:微處理器((μP)、微控制器(μC)、數(shù)字信息處理器(DSP)或者它們的任何組合。處理器104可以包括諸如一級(jí)高速緩存110和二級(jí)高速緩存112之類的一個(gè)或者多個(gè)級(jí)別的高速緩存、處理器核心114和寄存器116。示例的處理器核心114可以包括運(yùn)算邏輯單元(ALU)、浮點(diǎn)數(shù)單元(FPU)、數(shù)字信號(hào)處理核心(DSP核心)或者它們的任何組合。示例的存儲(chǔ)器控制器118可以與處理器104一起使用,或者在一些實(shí)現(xiàn)中,存儲(chǔ)器控制器118可以是處理器104的一個(gè)內(nèi)部部分。
取決于期望的配置,系統(tǒng)存儲(chǔ)器106可以是任意類型的存儲(chǔ)器,包括但不限于:易失性存儲(chǔ)器(諸如RAM)、非易失性存儲(chǔ)器(諸如ROM、閃存等)或者它們的任何組合。系統(tǒng)存儲(chǔ)器106可以包括操作系統(tǒng)120、一個(gè)或者多個(gè)應(yīng)用122以及程序數(shù)據(jù)124。在一些實(shí)施方式中,應(yīng)用122可以布置為在操作系統(tǒng)上利用程序數(shù)據(jù)124進(jìn)行操作。
計(jì)算設(shè)備100還可以包括有助于從各種接口設(shè)備(例如,輸出設(shè)備142、外設(shè)接口144和通信設(shè)備146)到基本配置102經(jīng)由總線/接口控制器130的通信的接口總線140。示例的輸出設(shè)備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)A/V端口152與諸如顯示器或者揚(yáng)聲器之類的各種外部設(shè)備進(jìn)行通信。示例外設(shè)接口144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)I/O端口158和諸如輸入設(shè)備(例如,鍵盤、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備)或者其他外設(shè)(例如打印機(jī)、掃描儀等)之類的外部設(shè)備進(jìn)行通信。示例的通信設(shè)備146可以包括網(wǎng)絡(luò)控制器160,其可以被布置為便于經(jīng)由一個(gè)或者多個(gè)通信端口164與一個(gè)或者多個(gè)其他計(jì)算設(shè)備162通過網(wǎng)絡(luò)通信鏈路的通信。
網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通??梢泽w現(xiàn)為在諸如載波或者其他傳輸機(jī)制之類的調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,并且可以包括任何信息遞送介質(zhì)。“調(diào)制數(shù)據(jù)信號(hào)”可以這樣的信號(hào),它的數(shù)據(jù)集中的一個(gè)或者多個(gè)或者它的改變可以在信號(hào)中編碼信息的方式進(jìn)行。作為非限制性的示例,通信介質(zhì)可以包括諸如有線網(wǎng)絡(luò)或者專線網(wǎng)絡(luò)之類的有線介質(zhì),以及諸如聲音、射頻(RF)、微波、紅外(IR)或者其它無(wú)線介質(zhì)在內(nèi)的各種無(wú)線介質(zhì)。這里使用的術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)可以包括存儲(chǔ)介質(zhì)和通信介質(zhì)二者。
計(jì)算設(shè)備100可以實(shí)現(xiàn)為小尺寸便攜(或者移動(dòng))電子設(shè)備的一部分,這些電子設(shè)備可以是諸如蜂窩電話、個(gè)人數(shù)字助理(PDA)、個(gè)人媒體播放器設(shè)備、無(wú)線網(wǎng)絡(luò)瀏覽設(shè)備、個(gè)人頭戴設(shè)備、應(yīng)用專用設(shè)備、或者可以包括上面任何功能的混合設(shè)備。計(jì)算設(shè)備100還可以實(shí)現(xiàn)為包括桌面計(jì)算機(jī)和筆記本計(jì)算機(jī)配置的個(gè)人計(jì)算機(jī)。
圖2示出了根據(jù)本發(fā)明實(shí)施例所提供的一種測(cè)試包下發(fā)方法的流程圖。如圖2所示,該方法在計(jì)算設(shè)備中執(zhí)行,上述方法始于步驟S210。
在步驟S210中,將測(cè)試包傳輸至軟件測(cè)試工具中的第一指定文件夾中,接收軟件測(cè)試工具根據(jù)測(cè)試包生成的測(cè)試包內(nèi)網(wǎng)下載地址。
開發(fā)人員首先通過手動(dòng)或自動(dòng)化工具輸出測(cè)試包,在進(jìn)行測(cè)試包打包時(shí),開發(fā)人員將需要進(jìn)行測(cè)試的測(cè)試設(shè)備的標(biāo)識(shí)如序列號(hào)添加到蘋果開發(fā)者中心的指定配置文件中,如,后綴名為“.mobileprovision”的配置文件中。并準(zhǔn)備好打包需要的指定證書文件如安裝包簽名證書等,證書文件一般為以“.p12”為后綴名的文件,此處使用的為安裝包簽名證書用于保證安裝包的合法性。開發(fā)人員事先寫好的腳本將上述指定證書文件和指定配置文件進(jìn)行編譯打包并將測(cè)試包存儲(chǔ)在內(nèi)網(wǎng)服務(wù)器中。編譯并打包測(cè)試包的腳本片段如下:
#獲取應(yīng)用版本號(hào)
versionNumber=$(/usr/libexec/PlistBuddy-c"Print:CFBundleShortVersionString"DYZB/Info.plist)
#從參數(shù)獲取build號(hào)
buildNumber=$1
#從參數(shù)獲取簽名證書名
codesigningIdentity=$2
#從參數(shù)獲取配置文件路徑
provisioningProfilePath=$3
#丟棄舊build
rm-rf build
#進(jìn)行打包操作
fastlaneDebugIpa version:$versionNumber build:$buildNumbercodesigning_identity:"$codesigningIdentity"provisioning_profile_path:"$provisioningProfilePath"
利用腳本將上述測(cè)試包拷貝至軟件測(cè)試工具如Jenkins中的第一指定文件夾中,例如,第一指定文件夾可以是JenkinsIPAPath。Jenkins工具接收到上述測(cè)試包之后根據(jù)測(cè)試包的屬性信息例如名稱生成測(cè)試包內(nèi)網(wǎng)下載地址,例如,測(cè)試包內(nèi)網(wǎng)下載地址可以為JenkinsIPADonwloadPath。其中,Jenkins工具是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,功能包括:持續(xù)的軟件版本發(fā)布/測(cè)試項(xiàng)目,監(jiān)控外部調(diào)用執(zhí)行的工作。Jenkins工具同時(shí)支持多種平臺(tái)(windows、linux、os x等都支持),安裝、配置簡(jiǎn)單。不過應(yīng)當(dāng)理解,本發(fā)明不限于Jenkins工具,所有可以生成測(cè)試包內(nèi)網(wǎng)下載地址的工具都在本發(fā)明的保護(hù)范圍內(nèi)。
在步驟S220中,將測(cè)試包內(nèi)網(wǎng)下載地址存儲(chǔ)至版本控制倉(cāng)庫(kù)。
根據(jù)一個(gè)實(shí)施例,將測(cè)試包內(nèi)網(wǎng)下載地址依照數(shù)據(jù)存儲(chǔ)文件的格式寫入數(shù)據(jù)存儲(chǔ)文件如plist文件中,將上述數(shù)據(jù)存儲(chǔ)文件存儲(chǔ)至版本控制倉(cāng)庫(kù)中,該版本控制空庫(kù)是plist專用版本控制倉(cāng)庫(kù)。plist文件在iOS開發(fā)中屬于Write寫入方式,可以以Property List列表形式顯示,也可以以xml格式顯示。應(yīng)當(dāng)理解,所有可以用于寫入測(cè)試包內(nèi)網(wǎng)下載地址的文件都在本發(fā)明的保護(hù)范圍內(nèi)。
版本控制倉(cāng)庫(kù)即GIT倉(cāng)庫(kù),GIT一款免費(fèi)、開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。Git倉(cāng)庫(kù)能夠從服務(wù)器上克隆完整的GIT倉(cāng)庫(kù)(包括代碼和版本信息)到單機(jī)上;在單機(jī)上自己創(chuàng)建的分支上提交代碼;在單機(jī)上合并分支;把服務(wù)器上最新版的代碼獲取到,然后跟自己的主分支合并;生成補(bǔ)丁(patch),把補(bǔ)丁發(fā)送給主開發(fā)者;提供Https支持;等等。
在步驟S230中,將版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器,接收版本控制服務(wù)器根據(jù)版本控制倉(cāng)庫(kù)生成的測(cè)試包網(wǎng)頁(yè)地址。其中,版本控制服務(wù)器一般為GIT倉(cāng)庫(kù)的遠(yuǎn)程服務(wù)器。
根據(jù)一個(gè)實(shí)施例,腳本可以將版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器中的第二指定文件夾中,例如,第二指定文件夾可以為PlistGitPath。版本控制服務(wù)器根據(jù)如plist文件中的測(cè)試包內(nèi)網(wǎng)下載地址生成的測(cè)試包網(wǎng)頁(yè)地址,如,測(cè)試包網(wǎng)頁(yè)地址可以為PlistDownloadPath。
在步驟S240中,將測(cè)試包網(wǎng)頁(yè)地址寫入測(cè)試包下載網(wǎng)頁(yè)文件中,并將測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器,接收內(nèi)網(wǎng)服務(wù)器根據(jù)測(cè)試包下載網(wǎng)頁(yè)文件生成的測(cè)試包網(wǎng)頁(yè)下載地址。
腳本自動(dòng)將測(cè)試包網(wǎng)頁(yè)地址寫入一個(gè)基于HTML的測(cè)試包下載網(wǎng)頁(yè)文件如“download.html”中。在一個(gè)實(shí)施例中,將測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器中的第三指定文件夾中,如,第三指定文件夾可以為內(nèi)網(wǎng)服務(wù)器指定路徑WebPath中,得到測(cè)試包網(wǎng)頁(yè)下載地址,測(cè)試包網(wǎng)頁(yè)下載地址可以為WebDownloadPath。
在步驟S250中,生成包括測(cè)試包網(wǎng)頁(yè)下載地址的二維碼圖片并將二維碼圖片下發(fā)至測(cè)試人員。
腳本基于測(cè)試包網(wǎng)頁(yè)下載地址生成二維碼圖片,二維碼圖片一般以“.png”為后綴名,如,“QR.png”。在一個(gè)實(shí)施例中,將所述二維碼圖片以郵件形式發(fā)送至測(cè)試人員,由測(cè)試人員利用測(cè)試設(shè)備掃描二維碼圖片獲取測(cè)試包。測(cè)試設(shè)備掃描二維碼后進(jìn)入測(cè)試包下載頁(yè)面,測(cè)試人員通過點(diǎn)擊測(cè)試包下載頁(yè)面中的下載虛擬按鈕,從內(nèi)網(wǎng)服務(wù)器獲取測(cè)試包。其中,二維碼圖片包括的測(cè)試包網(wǎng)頁(yè)下載地址只能讓測(cè)試設(shè)備通過內(nèi)網(wǎng)獲取測(cè)試包,外網(wǎng)無(wú)法獲取測(cè)試包。應(yīng)當(dāng)理解,二維碼圖片的格式僅僅是示意性的,所有可以實(shí)現(xiàn)掃描并獲取測(cè)試包的二維碼圖片的格式都在本發(fā)明的保護(hù)范圍內(nèi)。
根據(jù)本發(fā)明的技術(shù)方案,將測(cè)試包存儲(chǔ)在內(nèi)網(wǎng)服務(wù)器,通過掃描二維碼從內(nèi)網(wǎng)服務(wù)器獲取測(cè)試包,避免上傳到第三方服務(wù)器帶來(lái)的安全隱患,同時(shí)保證了安裝的穩(wěn)定性。
圖3示出了根據(jù)本發(fā)明實(shí)施例所提供的一種測(cè)試包下發(fā)裝置的結(jié)構(gòu)圖。如圖3所示,該裝置駐留在計(jì)算設(shè)備中,包括:第一通信模塊310、第二通信模塊320、第三通信模塊330、第四通信模塊340和二維碼處理模塊350。
第一通信模塊310將測(cè)試包傳輸至軟件測(cè)試工具中的第一指定文件夾中,并接收軟件測(cè)試工具根據(jù)測(cè)試包生成的測(cè)試包內(nèi)網(wǎng)下載地址。
第二通信模塊320將測(cè)試包內(nèi)網(wǎng)下載地址存儲(chǔ)至版本控制倉(cāng)庫(kù)。根據(jù)一個(gè)實(shí)施例,第二通信模塊320將測(cè)試包內(nèi)網(wǎng)下載地址寫入數(shù)據(jù)存儲(chǔ)文件中,將數(shù)據(jù)存儲(chǔ)文件存儲(chǔ)至版本控制倉(cāng)庫(kù)。
第三通信模塊330將版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器,并接收版本控制服務(wù)器根據(jù)版本控制倉(cāng)庫(kù)生成的測(cè)試包網(wǎng)頁(yè)地址。其中,第三通信模塊330將版本控制倉(cāng)庫(kù)傳輸至版本控制服務(wù)器中的第二指定文件夾中。
第四通信模塊340將測(cè)試包網(wǎng)頁(yè)地址寫入測(cè)試包下載網(wǎng)頁(yè)文件中,并將測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器,接收內(nèi)網(wǎng)服務(wù)器根據(jù)測(cè)試包下載網(wǎng)頁(yè)文件生成的測(cè)試包網(wǎng)頁(yè)下載地址。根據(jù)一個(gè)實(shí)施例,第四通信模塊340將測(cè)試包下載網(wǎng)頁(yè)文件傳輸至內(nèi)網(wǎng)服務(wù)器中的第三指定文件夾中。
二維碼處理模塊350生成包括測(cè)試包網(wǎng)頁(yè)下載地址的二維碼圖片并將二維碼圖片下發(fā)至測(cè)試人員。其中,二維碼處理模塊350將二維碼圖片以郵件形式發(fā)送至測(cè)試人員,由測(cè)試人員利用測(cè)試設(shè)備掃描所述二維碼圖片獲取測(cè)試包。
本發(fā)明實(shí)施例所提供的一種測(cè)試包下發(fā)裝置可以為設(shè)備上的特定硬件或者安裝于設(shè)備上的軟件或固件等。本發(fā)明實(shí)施例所提供的裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡(jiǎn)要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,前述描述的系統(tǒng)、裝置和單元的具體工作過程,均可以參考上述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明提供的實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋,此外,術(shù)語(yǔ)“第一”、“第二”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。
最后應(yīng)說(shuō)明的是:以上所述實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。