對命令行輸出的信息進(jìn)行處理的方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種對命令行輸出的信息進(jìn)行處理的方法和裝置,屬于計算機(jī)【技術(shù)領(lǐng)域】。所述方法包括:獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息;將所述字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來;將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。所述裝置包括:獲取轉(zhuǎn)換模塊、匹配提取模塊和拼接模塊。本發(fā)明可以將命令行輸出的信息轉(zhuǎn)換為指定文本格式,使得可以對命令行輸出的信息進(jìn)行分析、統(tǒng)計等處理,使得命令行輸出的信息可以被進(jìn)一步地利用,提高了命令行輸出的信息利用率。
【專利說明】對命令行輸出的信息進(jìn)行處理的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種對命令行輸出的信息進(jìn)行處理的方法和裝置。
【背景技術(shù)】
[0002]隨著計算機(jī)技術(shù)的發(fā)展,有很多可以提供白盒測試的框架,如Ocunit、Junit、Nunit等。其中,Ocunit是蘋果公司提供的可以在xcode環(huán)境下對ios平臺進(jìn)行白盒測試的框架。
[0003]目前,在利用Ocunit對ios平臺進(jìn)行白盒測試時,過程如下:通過命令行運行xcodebuild命令,編譯指定target(目標(biāo))進(jìn)行白盒測試,將白盒測試結(jié)果在命令行輸出。
[0004]然而,在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005]用戶只能看到命令行輸出的信息(如白盒測試結(jié)果),無法對命令行輸出的信息進(jìn)行分析、統(tǒng)計等處理,命令行輸出的信息不能被進(jìn)一步地利用,命令行輸出的信息利用率低。
【發(fā)明內(nèi)容】
[0006]為了提高命令行輸出的信息的利用率,本發(fā)明實施例提供了一種對命令行輸出的信息進(jìn)行處理的方法和裝置。所述技術(shù)方案如下:
[0007]一種對命令行輸出的信息進(jìn)行處理的方法,包括:
[0008]獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息;
[0009]將所述字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來;
[0010]將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。
[0011]一種對命令行輸出的信息進(jìn)行處理的裝置,所述裝置包括:
[0012]獲取轉(zhuǎn)換模塊,用于獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息;
[0013]匹配提取模塊,用于在所述獲取轉(zhuǎn)換模塊得到字符串式命令行信息后,將所述字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來;
[0014]拼接模塊,用于在所述匹配提取模塊將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來后,將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。
[0015]本發(fā)明實施例提供的技術(shù)方案的有益效果是:
[0016]可以將命令行輸出的信息轉(zhuǎn)換為指定文本格式,使得可以對命令行輸出的信息進(jìn)行分析、統(tǒng)計等處理,使得命令行輸出的信息可以被進(jìn)一步地利用,提高了命令行輸出的信息利用率。
【專利附圖】
【附圖說明】
[0017]圖1是本發(fā)明實施例1提供的一種對命令行輸出的信息進(jìn)行處理的方法流程圖;
[0018]圖2是本發(fā)明實施例2提供的一種對命令行輸出的信息進(jìn)行處理的方法流程圖;
[0019]圖3是本發(fā)明實施例3提供的一種對命令行輸出的信息進(jìn)行處理的裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
[0021]實施例1
[0022]參見圖1,本發(fā)明實施例提供了一種對命令行輸出的信息進(jìn)行處理的方法,包括:
[0023]101:獲取命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息。
[0024]102:將字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來。
[0025]103:將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。
[0026]進(jìn)一步地,獲取命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息為:
[0027]通過管道命令,獲取命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息。
[0028]進(jìn)一步地,將字符串式命令行信息與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來,包括:
[0029]通過正則表達(dá)式,將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配;
[0030]將每行字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來。
[0031]進(jìn)一步地,文本格式包括:
[0032]XML(extensible Markup Language,可擴(kuò)展標(biāo)記語言)格式、HTML(HyperTextMark-upLanguage,超文本鏈接標(biāo)示語言)格式。
[0033]本發(fā)明實施例所述的對命令行輸出的信息進(jìn)行處理的方法,可以將命令行輸出的信息轉(zhuǎn)換為指定文本格式,使得可以對命令行輸出的信息進(jìn)行分析、統(tǒng)計等處理,使得命令行輸出的信息可以被進(jìn)一步地利用,提高了命令行輸出的信息利用率??梢詫⒚钚休敵龅男畔⑥D(zhuǎn)換為XML格式、HTML格式等,使得命令行輸出的信息可以用于不同的地方,進(jìn)一步地提高了命令行輸出的信息利用率。
[0034]本發(fā)明實施例所述的對命令行輸出的信息進(jìn)行處理的方法,可以將命令行輸出的信息轉(zhuǎn)換為任一種指定文本格式如XML格式、HTML格式等,為了便于說明,下面以利用Ocunit對ios平臺進(jìn)行白盒測試,白盒測試在命令行輸出的信息(白盒測試結(jié)果)轉(zhuǎn)換為XML格式為例進(jìn)行進(jìn)一步地說明。[0035]實施例2
[0036]參見圖2,本發(fā)明實施例提供了一種對命令行輸出的信息進(jìn)行處理的方法,包括:
[0037]201:通過管道命令,獲取白盒測試在命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息,將字符串式命令行信息傳輸給ruby腳本。
[0038]具體地,當(dāng)在xcode環(huán)境下配置了一個Ocunit白盒測試target后,可以通過管道命令“I”獲取白盒測試在命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式。其中,在xcode環(huán)境下配置一個Ocunit白盒測試target具體如下:xcodebuild_targettest-configuration Debug-sdk iphonesimulator4.1。
[0039]需要說明的是,“將字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來;將提取出來的字符串式命令行信息拼接為指定文本格式”可以通過編寫腳本統(tǒng)一實現(xiàn),可以采用任何腳本語言,對此不做限定,本發(fā)明實施例以采用ruby語言為例進(jìn)行說明,并且ruby腳本的名稱為0cunit2xml.rb。通過管道命令,獲取白盒測試在命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息,將字符串式命令行信息傳輸給 ruby 腳本具體如下:xcodebuild_target test-conf iguration Debug-sdkiphonesimulator4.1./ocunit2xml.rb。即管道命令“ | ”會把 xcodebuild 輸出的信息,當(dāng)作命令行輸入,傳給0cunit2xml.rb。
[0040]202:ruby腳本通過正則表達(dá)式,將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配;將每行字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來。
[0041]其中,預(yù)設(shè)的多個字符串表達(dá)式可以根據(jù)需要提取出的信息進(jìn)行設(shè)置,如需要提取出開始時間信息,則可以設(shè)置字符串表達(dá)式為=Test Suite’(\S+) ’.*startedat\s+ (.*)。
[0042]具體地,通過正則表達(dá)式的方式實現(xiàn)如下:
[0043]when/Test Suite,(\S+)'.*started at\s+(.*)/
[0044]stime=Time.parse ($2.to_s)
[0045]start_test_suite(stime)
[0046]通過上述正則表達(dá)式來匹配字符串式命令行信息,可以將字符串式命令行信息中包含的 “test2”和 “2011-10-23 20:51:38 GMT” 提取出來。
[0047]并且,具體地,可以將每行字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來后存儲在字符串函數(shù)中,如上述的start_test_suite (stime)函數(shù)。
[0048]另外,并不限于通過對每行分別進(jìn)行匹配的方式進(jìn)行,也可以采用其他任何可行的方式實現(xiàn),如采用每2行的方式進(jìn)行。
[0049]203:ruby腳本將提取出來的字符串式命令行信息拼接為XML格式的命令行信息。
[0050]其中,將提取出來的字符串式命令行信息拼接為XML格式的命令行信息,可以采用現(xiàn)有技術(shù)的任何方式實現(xiàn),此處不再贅述。
[0051]并且,具體地,可以將拼接為XML格式的字符串式命令行信息保存到指定路徑的文件里。如可以保存到0cunit2xml.rb所在路徑的testreports文件夾下的TEST-result.Xml文件中。[0052]本發(fā)明實施例所述的對命令行輸出的信息進(jìn)行處理的方法,可以將命令行輸出的信息轉(zhuǎn)換為指定文本格式,使得可以對命令行輸出的信息進(jìn)行分析、統(tǒng)計等處理,使得命令行輸出的信息可以被進(jìn)一步地利用,提高了命令行輸出的信息利用率??梢詫⒚钚休敵龅男畔⑥D(zhuǎn)換為XML格式、HTML格式等,使得命令行輸出的信息可以用于不同的地方,進(jìn)一步地提高了命令行輸出的信息利用率。
[0053]實施例3
[0054]參見圖3,本發(fā)明實施例提供了一種對命令行輸出的信息進(jìn)行處理的裝置,包括:
[0055]獲取轉(zhuǎn)換模塊301,用于獲取命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息;
[0056]匹配提取模塊302,用于在獲取轉(zhuǎn)換模塊301得到字符串式命令行信息后,將字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來;
[0057]拼接模塊303,用于在匹配提取模塊302將字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來后,將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。
[0058]進(jìn)一步地,獲取轉(zhuǎn)換模塊301包括:
[0059]獲取轉(zhuǎn)換單元,用于通過管道命令,獲取命令行輸出的信息,并將命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息。
[0060]進(jìn)一步地,匹配提取模塊302包括:
[0061]匹配單元,用于在獲取轉(zhuǎn)換模塊301得到字符串式命令行信息后,通過正則表達(dá)式,將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配;
[0062]提取單元,用于在匹配單元將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配后,將每行字符串式命令行信息中與任一字符串表達(dá)式匹配的信息提取出來。
[0063]進(jìn)一步地,文本格式包括:
[0064]可擴(kuò)展標(biāo)記語言XML格式、超文本鏈接標(biāo)示語言HTML格式。
[0065]本發(fā)明實施例所述的對命令行輸出的信息進(jìn)行處理的裝置,可以將命令行輸出的信息轉(zhuǎn)換為指定文本格式,使得可以對命令行輸出的信息進(jìn)行分析、統(tǒng)計等處理,使得命令行輸出的信息可以被進(jìn)一步地利用,提高了命令行輸出的信息利用率。可以將命令行輸出的信息轉(zhuǎn)換為XML格式、HTML格式等,使得命令行輸出的信息可以用于不同的地方,進(jìn)一步地提高了命令行輸出的信息利用率。
[0066]以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如:計算機(jī)中的硬盤、光盤或軟盤。
[0067]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種對命令行輸出的信息進(jìn)行處理的方法,其特征在于,所述方法包括: 獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息; 將所述字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來; 將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。
2.根據(jù)權(quán)利要求1所述的對命令行輸出的信息進(jìn)行處理的方法,其特征在于,獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息為: 通過管道命令,獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息。
3.根據(jù)權(quán)利要求1所述的對命令行輸出的信息進(jìn)行處理的方法,其特征在于,將所述字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來,包括: 通過正則表達(dá)式,將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹`配; 將每行字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來。
4.根據(jù)權(quán)利要求1-3中任意一項權(quán)利要求所述的對命令行輸出的信息進(jìn)行處理的方法,其特征在于,所述指定文本格式包括: 可擴(kuò)展標(biāo)記語言XML格式、超文本鏈接標(biāo)示語言HTML格式。
5.一種對命令行輸出的信息進(jìn)行處理的裝置,其特征在于,所述裝置包括: 獲取轉(zhuǎn)換模塊,用于獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息; 匹配提取模塊,用于在所述獲取轉(zhuǎn)換模塊得到字符串式命令行信息后,將所述字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配,并將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來; 拼接模塊,用于在所述匹配提取模塊將所述字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來后,將提取出來的字符串式命令行信息拼接為指定文本格式的命令行信息。
6.根據(jù)權(quán)利要求5所述的對命令行輸出的信息進(jìn)行處理的裝置,其特征在于,所述獲取轉(zhuǎn)換模塊包括: 獲取轉(zhuǎn)換單元,用于通過管道命令,獲取命令行輸出的信息,并將所述命令行輸出的信息轉(zhuǎn)換為字符串格式,得到字符串式命令行信息。
7.根據(jù)權(quán)利要求5所述的對命令行輸出的信息進(jìn)行處理的裝置,其特征在于,所述匹配提取模塊包括: 匹配單元,用于在所述獲取轉(zhuǎn)換模塊得到字符串式命令行信息后,通過正則表達(dá)式,將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配; 提取單元,用于在所述匹配單元將每行字符串式命令行信息分別與預(yù)設(shè)的多個字符串表達(dá)式進(jìn)行匹配后,將每行字符串式命令行信息中與任一所述字符串表達(dá)式匹配的信息提取出來。
8.根據(jù)權(quán)利要求5-7中任意一項權(quán)利要求所述的對命令行輸出的信息進(jìn)行處理的裝置,其特征在于,所述指定文本格式包括: 可擴(kuò)展標(biāo)記語言XML格式、`超文本鏈接標(biāo)示語言HTML格式。
【文檔編號】G06F9/30GK103455307SQ201210171649
【公開日】2013年12月18日 申請日期:2012年5月29日 優(yōu)先權(quán)日:2012年5月29日
【發(fā)明者】李天暢 申請人:騰訊科技(深圳)有限公司