Xml格式的接口測(cè)試案例報(bào)文的生成方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[00011本發(fā)明實(shí)施例涉及接口測(cè)試技術(shù)領(lǐng)域,尤其涉及一種XML格式的接口測(cè)試案例報(bào) 文的生成方法和裝置。
【背景技術(shù)】
[0002] 可擴(kuò)展標(biāo)記語(yǔ)言(Extensive Markup Language,簡(jiǎn)稱:XML)由于具有結(jié)構(gòu)化、可擴(kuò) 展性,非常適合于網(wǎng)絡(luò)傳輸和跨平臺(tái)使用,所以越來越多地應(yīng)用于描述和交換獨(dú)立于應(yīng)用 程序的結(jié)構(gòu)化數(shù)據(jù)。而在接口測(cè)試中,測(cè)試案例一般存儲(chǔ)為扁平化結(jié)構(gòu),最常見的形式就是 使用表格存儲(chǔ)測(cè)試案例,表格首行為標(biāo)題行,其余每行為一條測(cè)試案例的數(shù)據(jù)。
[0003] 現(xiàn)有技術(shù)中,對(duì)于基于XML格式的數(shù)據(jù)報(bào)文的應(yīng)用程序接口,接口對(duì)應(yīng)的請(qǐng)求報(bào)文 模板中需要進(jìn)行數(shù)據(jù)替換的地方使用預(yù)設(shè)格式的參數(shù)進(jìn)行占位,測(cè)試案例文件首行存儲(chǔ)這 些參數(shù)的名稱,其余行存儲(chǔ)對(duì)應(yīng)的參數(shù)值。報(bào)文組裝的過程就是在模板中依次檢索參數(shù)名, 使用對(duì)應(yīng)的數(shù)據(jù)替換參數(shù)的過程?,F(xiàn)有的處理方式,其實(shí)忽略了 XML格式的請(qǐng)求報(bào)文模板本 身具有的結(jié)構(gòu),單純地將XML格式的請(qǐng)求報(bào)文模板視為字符串。
[0004] 這種方式需要為每個(gè)輸入域使用不同的參數(shù)來表示,盡管XML格式的請(qǐng)求報(bào)文模 板已經(jīng)包含了節(jié)點(diǎn)名稱信息,如果某個(gè)輸入域沒有使用參數(shù)而是使用了默認(rèn)值或空值,那 么一旦輸入域需要改用測(cè)試案例的數(shù)據(jù),則原有的測(cè)試案例存儲(chǔ)文件都要重新生成。同時(shí), 這種方式不支持?jǐn)?shù)組結(jié)構(gòu)類型的輸入域,數(shù)組結(jié)構(gòu)類型的輸入域表現(xiàn)為多次重復(fù)出現(xiàn)的 XML節(jié)點(diǎn)。另外,這種方式拼裝報(bào)文的時(shí)候都需要請(qǐng)求報(bào)文模板的結(jié)構(gòu)信息,且每次參數(shù)替 換都要對(duì)請(qǐng)求報(bào)文模板進(jìn)行從頭到尾查找,效率不高。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供的一種XML格式的接口測(cè)試案例報(bào)文的生成方法和裝置,對(duì)XML數(shù)據(jù)報(bào) 文的應(yīng)用程序接口的測(cè)試案例存儲(chǔ)方法進(jìn)行了優(yōu)化,實(shí)現(xiàn)將結(jié)構(gòu)化的XML報(bào)文模板以及數(shù) 據(jù)存儲(chǔ)為扁平的測(cè)試案例文件,支持?jǐn)?shù)組結(jié)構(gòu)類型、自定義復(fù)雜結(jié)構(gòu)類型,報(bào)文拼裝的時(shí)候 不需要請(qǐng)求報(bào)文模板的結(jié)構(gòu)信息,提高了測(cè)試案例報(bào)文的生成效率,數(shù)組成員個(gè)數(shù)可變;數(shù) 組的數(shù)據(jù)不需要特殊格式;支持輸入域的數(shù)據(jù)類型描述。
[0006] 本發(fā)明提供了 XML格式的接口測(cè)試案例報(bào)文的生成方法,包括:
[0007] 獲取應(yīng)用程序接口的XML格式的請(qǐng)求報(bào)文模板,所述請(qǐng)求報(bào)文模板包括所述請(qǐng)求 報(bào)文模板的結(jié)構(gòu),所述請(qǐng)求報(bào)文模板的結(jié)構(gòu)包括:所述請(qǐng)求報(bào)文模板中所有節(jié)點(diǎn)的輸入域、 每個(gè)輸入域結(jié)構(gòu)類型;
[0008] 確定所述請(qǐng)求報(bào)文模板中每個(gè)根節(jié)點(diǎn)對(duì)應(yīng)的輸入域結(jié)構(gòu)類型,生成相應(yīng)的輸入域 標(biāo)題,所述每個(gè)根節(jié)點(diǎn)對(duì)應(yīng)的輸入域結(jié)構(gòu)類型包括原子結(jié)構(gòu)類型或復(fù)雜自定義結(jié)構(gòu)類型或 數(shù)組結(jié)構(gòu)類型;
[0009] 將所有的所述輸入域標(biāo)題使用第一預(yù)設(shè)分隔符連接獲得對(duì)應(yīng)的應(yīng)用程序接口的 測(cè)試案例的標(biāo)題行;
[0010] 獲取用戶按照所述請(qǐng)求報(bào)文模板的結(jié)構(gòu)輸入的對(duì)應(yīng)的應(yīng)用程序接口的多個(gè)測(cè)試 案例的數(shù)據(jù)行,所述每個(gè)測(cè)試案例的數(shù)據(jù)行中包括輸入的數(shù)據(jù)及連接所述輸入的數(shù)據(jù)的與 標(biāo)題行對(duì)應(yīng)的預(yù)設(shè)分隔符;
[0011] 將所述標(biāo)題行和所有的數(shù)據(jù)行寫入文件,以獲得測(cè)試案例存儲(chǔ)文件;
[0012] 從測(cè)試案例存儲(chǔ)文件中讀取標(biāo)題行和數(shù)據(jù)行;
[0013] 確定所述標(biāo)題行中每個(gè)輸入域的結(jié)構(gòu)類型,根據(jù)每個(gè)輸入域的結(jié)構(gòu)類型將每個(gè)輸 入域標(biāo)題和對(duì)應(yīng)的數(shù)據(jù)行的數(shù)據(jù),拼裝成XML格式報(bào)文節(jié)點(diǎn);所述拼裝成的XML報(bào)文節(jié)點(diǎn)包 括:原子結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)和/或復(fù)雜自定義結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)和/或數(shù)組結(jié)構(gòu)類型報(bào)文節(jié) 占.
[0014] 將所有的所述XML格式報(bào)文節(jié)點(diǎn)組合生成測(cè)試案例的報(bào)文。
[0015]本發(fā)明提供了一種XML格式的接口測(cè)試案例報(bào)文的生成裝置,包括:
[0016] 獲取模塊,用于獲取應(yīng)用程序接口的XML格式的請(qǐng)求報(bào)文模板,所述請(qǐng)求報(bào)文模板 包括所述請(qǐng)求報(bào)文模板的結(jié)構(gòu),所述請(qǐng)求報(bào)文模板的結(jié)構(gòu)包括:所述請(qǐng)求報(bào)文模板中所有 節(jié)點(diǎn)的輸入域、每個(gè)輸入域結(jié)構(gòu)類型;
[0017] 生成模塊,用于確定所述請(qǐng)求報(bào)文模板中每個(gè)根節(jié)點(diǎn)對(duì)應(yīng)的輸入域結(jié)構(gòu)類型,生 成相應(yīng)的輸入域標(biāo)題,所述每個(gè)根節(jié)點(diǎn)對(duì)應(yīng)的輸入域結(jié)構(gòu)類型包括原子結(jié)構(gòu)類型或復(fù)雜自 定義結(jié)構(gòu)類型或數(shù)組結(jié)構(gòu)類型;
[0018] 獲得模塊,用于將所有的所述輸入域標(biāo)題使用第一預(yù)設(shè)分隔符連接獲得對(duì)應(yīng)的應(yīng) 用程序接口的測(cè)試案例的標(biāo)題行;
[0019] 所述獲取模塊,還用于獲取用戶按照所述請(qǐng)求報(bào)文模板的結(jié)構(gòu)輸入的對(duì)應(yīng)的應(yīng)用 程序接口的多個(gè)測(cè)試案例的數(shù)據(jù)行,所述每個(gè)測(cè)試案例的數(shù)據(jù)行中包括輸入的數(shù)據(jù)及連接 所述輸入的數(shù)據(jù)的與標(biāo)題行對(duì)應(yīng)的預(yù)設(shè)分隔符;
[0020] 所述獲得模塊,用于將所述標(biāo)題行和所有的數(shù)據(jù)行寫入文件,獲得測(cè)試案例存儲(chǔ) 文件;
[0021] 讀取模塊,用于從測(cè)試案例存儲(chǔ)文件中讀取標(biāo)題行和數(shù)據(jù)行;
[0022] 拼裝模塊,用于確定所述標(biāo)題行中每個(gè)輸入域的結(jié)構(gòu)類型,根據(jù)每個(gè)輸入域的結(jié) 構(gòu)類型將每個(gè)輸入域標(biāo)題和對(duì)應(yīng)的數(shù)據(jù)行的數(shù)據(jù),拼裝成XML格式報(bào)文節(jié)點(diǎn);所述拼裝成的 XML報(bào)文節(jié)點(diǎn)包括:原子結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)和/或復(fù)雜自定義結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)和/或數(shù)組 結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn);
[0023] 所述生成模塊,還用于將所有的所述XML格式報(bào)文節(jié)點(diǎn)組合生成測(cè)試案例的報(bào)文。
[0024] 本發(fā)明實(shí)施例提供的XML格式的接口測(cè)試案例報(bào)文的生成方法和裝置通過獲取應(yīng) 用程序接口的XML格式的請(qǐng)求報(bào)文模板,請(qǐng)求報(bào)文模板包括請(qǐng)求報(bào)文模板的結(jié)構(gòu),請(qǐng)求報(bào)文 模板的結(jié)構(gòu)包括:請(qǐng)求報(bào)文模板中所有節(jié)點(diǎn)的輸入域、每個(gè)輸入域結(jié)構(gòu)類型;確定請(qǐng)求報(bào)文 模板中每個(gè)根節(jié)點(diǎn)對(duì)應(yīng)的輸入域結(jié)構(gòu)類型,生成相應(yīng)的輸入域標(biāo)題,每個(gè)根節(jié)點(diǎn)對(duì)應(yīng)的輸 入域結(jié)構(gòu)類型包括原子結(jié)構(gòu)類型或復(fù)雜自定義結(jié)構(gòu)類型或數(shù)組結(jié)構(gòu)類型;將所有的輸入域 標(biāo)題使用第一預(yù)設(shè)分隔符連接獲得對(duì)應(yīng)的應(yīng)用程序接口的測(cè)試案例的標(biāo)題行;獲取用戶按 照請(qǐng)求報(bào)文模板的結(jié)構(gòu)輸入的對(duì)應(yīng)的應(yīng)用程序接口的多個(gè)測(cè)試案例的數(shù)據(jù)行,每個(gè)測(cè)試案 例的數(shù)據(jù)行中包括輸入的數(shù)據(jù)及連接輸入的數(shù)據(jù)的與標(biāo)題行對(duì)應(yīng)的預(yù)設(shè)分隔符;將標(biāo)題行 和所有的數(shù)據(jù)行寫入文件,以獲得測(cè)試案例存儲(chǔ)文件;從測(cè)試案例存儲(chǔ)文件中讀取標(biāo)題行 和數(shù)據(jù)行;確定標(biāo)題行中每個(gè)輸入域的結(jié)構(gòu)類型,根據(jù)每個(gè)輸入域的結(jié)構(gòu)類型將每個(gè)輸入 域標(biāo)題和對(duì)應(yīng)的數(shù)據(jù)行的數(shù)據(jù),拼裝成XML格式報(bào)文節(jié)點(diǎn);拼裝成的XML報(bào)文節(jié)點(diǎn)包括:原子 結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)和/或復(fù)雜自定義結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)和/或數(shù)組結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn);將所 有的XML格式報(bào)文節(jié)點(diǎn)組合生成測(cè)試案例的報(bào)文。對(duì)XML數(shù)據(jù)報(bào)文的應(yīng)用程序接口的測(cè)試案 例存儲(chǔ)方法進(jìn)行了優(yōu)化,實(shí)現(xiàn)將結(jié)構(gòu)化的XML報(bào)文模板以及數(shù)據(jù)存儲(chǔ)為扁平的測(cè)試案例文 件,支持?jǐn)?shù)組結(jié)構(gòu)類型、自定義復(fù)雜結(jié)構(gòu)類型,報(bào)文拼裝的時(shí)候不需要請(qǐng)求報(bào)文模板的結(jié)構(gòu) 信息,提高了測(cè)試案例報(bào)文的生成效率,數(shù)組成員個(gè)數(shù)可變;數(shù)組的數(shù)據(jù)不需要特殊格式; 支持輸入域的數(shù)據(jù)類型描述。
【附圖說明】
[0025] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0026] 圖1為本發(fā)明XML格式的接口測(cè)試案例報(bào)文的生成方法實(shí)施例一的流程圖;
[0027] 圖2為本發(fā)明方法的實(shí)施例中生成復(fù)雜自定義結(jié)構(gòu)類型標(biāo)題的流程圖;
[0028] 圖3為本發(fā)明方法的實(shí)施例中生成數(shù)組結(jié)構(gòu)類型標(biāo)題的流程圖;
[0029] 圖4為本發(fā)明方法的實(shí)施例中獲取數(shù)組結(jié)構(gòu)類型數(shù)據(jù)的流程圖;
[0030] 圖5為本發(fā)明方法的實(shí)施例中拼裝數(shù)組結(jié)構(gòu)類型報(bào)文節(jié)點(diǎn)的流程圖;
[0031 ]圖6為本發(fā)明XML格式的接口測(cè)試案例報(bào)文的生成裝置實(shí)施例一的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]圖1為本發(fā)明XML格式的接口測(cè)試案例報(bào)文的生成方法實(shí)施例一的流程圖,如圖1 所示,該方法包括:
[0034]步驟101,獲取應(yīng)用程序接口的XML格式的請(qǐng)求報(bào)文模板,請(qǐng)求報(bào)文模板包括請(qǐng)求 報(bào)文模板的結(jié)