Xml格式的接口测试案例报文的生成方法和装置的制造方法_4

文档序号:9727291阅读:来源:国知局
/ACCOUNT〉
[0143] 〈ACCOUNT〉
[0144] <NUMBER>0201014210002442</NUMBER>
[0145] <BANK_COUNTRY>CN</BANK_COUNTRY>
[0146] 〈/ACCOUNT〉。
[0147] 步骤108,将所有的XML格式报文节点组合生成测试案例的报文。
[0148] 如上述举例中,将所有的XML格式报文节点组合生成测试案例的报文可表示为:
[0150]本实施例提供的XML格式的接口测试案例报文的生成方法,通过获取应用程序接 口的XML格式的请求报文模板,请求报文模板包括请求报文模板的结构,请求报文模板的结 构包括:请求报文模板中所有节点的输入域、每个输入域结构类型;确定请求报文模板中每 个根节点对应的输入域结构类型,生成相应的输入域标题,每个根节点对应的输入域结构 类型包括原子结构类型或复杂自定义结构类型或数组结构类型;将所有的输入域标题使用 第一预设分隔符连接获得对应的应用程序接口的测试案例的标题行;获取用户按照请求报 文模板的结构输入的对应的应用程序接口的多个测试案例的数据行,每个测试案例的数据 行中包括输入的数据及连接输入的数据的与标题行对应的预设分隔符;将标题行和所有的 数据行写入文件,以获得测试案例存储文件;从测试案例存储文件中读取标题行和数据行; 确定标题行中每个输入域的结构类型,根据每个输入域的结构类型将每个输入域标题和对 应的数据行的数据,拼装成XML格式报文节点;拼装成的XML报文节点包括:原子结构类型报 文节点和/或复杂自定义结构类型报文节点和/或数组结构类型报文节点;将所有的XML格 式报文节点组合生成测试案例的报文。对XML数据报文的应用程序接口的测试案例存储方 法进行了优化,实现将结构化的XML报文模板以及数据存储为扁平的测试案例文件,支持数 组结构类型、自定义复杂结构类型,报文拼装的时候不需要请求报文模板的结构信息,提高 了测试案例报文的生成效率。
[0151] 优选地,本发明的方法还支持含有数据类型、数组结构类型元素个数范围的报文 模板。
[0152] 具体地,本实施例中,若确定某根节点对应的输入域结构类型为数组结构类型,则 生成对应的输入域标题还包括:
[0153] 在数组结构类型输入域名前添加数组结构类型的元素个数的最小预设个数和最 大预设个数,将最小预设个数和最大预设个数采用第三预设分隔符连接,并采用第一预设 括号将采用第三预设分隔符连接后的最小预设个数和最大预设个数括起。
[0154] 在标题行中每个输入域类型的标题的开始位置还包括输入域的数据类型,输入域 的数据类型包括一下任意一种或多种:字符型、整型、浮点型。
[0155] 举例说明,应用程序的接口的请求报文模板为:
[0158] 对应此请求报文模板,生成案例文件的标题行为:{string}0PERATI0NTYro {integer}PR0DUCTID|{string}C0NTR0L_DATA.SEQ_N0|{string}C0NTR0L_DATA.
[0159] BRANCH.NAME|{string}C0NTR0L_DATA.BRANCH.CODE|[{1,10}ACCOUNT{{string} NUMBER,{string}BANK_COUNTRY}]。
[0160] 其中{1,10}表示数组结构类型输入域ACXOUNT的元素个数大于等于1,小于等于 lOdstring}表示输入域数据类型为字符串,{integer}表示输入域的数据类型为整型。
[0161] 进一步地,在步骤107中根据每个输入域的结构类型将每个输入域标题和对应的 数据行的数据,拼装成XML格式报文节点时,对数据类型校验,用于校验输入域的数据是否 与数据类型相符。
[0162] 举例来说,某输入域的数据类型标题为{integer}PR0DUCTID,数据为"abc",因为 abc不是整型(integer),所以此数据无法通过校验。
[0163] 对应本发明的方法的具体实施例,本发明还提出一种XML格式的接口测试案例报 文的生成装置。
[0164] 图6为本发明XML格式的接口测试案例报文的生成装置的结构示意图。如图6所示, 本实施例提供的装置包括:获取模块601,生成模块602,获得模块603,写入模块604,读取模 块605,拼装模块606。
[0165] 其中,获取模块601,用于获取应用程序接口的XML格式的请求报文模板,所述请求 报文模板包括所述请求报文模板的结构,所述请求报文模板的结构包括:所述请求报文模 板中所有节点的输入域、每个输入域结构类型。生成模块602,用于确定所述请求报文模板 中每个根节点对应的输入域结构类型,生成相应的输入域标题,所述每个根节点对应的输 入域结构类型包括原子结构类型或复杂自定义结构类型或数组结构类型。获得模块603,用 于将所有的所述输入域标题使用第一预设分隔符连接获得对应的应用程序接口的测试案 例的标题行。所述获取模块601,还用于获取用户按照所述请求报文模板的结构输入的对应 的应用程序接口的多个测试案例的数据行,所述每个测试案例的数据行中包括输入的数据 及连接所述输入的数据的与标题行对应的预设分隔符。写入模块604,用于将所述标题行和 所有的数据行写入文件,以获得测试案例存储文件。读取模块605,用于从测试案例存储文 件中读取标题行和数据行。拼装模块606,用于确定所述标题行中每个输入域的结构类型, 根据每个输入域的结构类型将每个输入域标题和对应的数据行的数据,拼装成XML格式报 文节点;所述拼装成的XML报文节点包括:原子结构类型报文节点和/或复杂自定义结构类 型报文节点和/或数组结构类型报文节点。所述生成模块602,还用于将所有的所述XML格式 报文节点组合生成测试案例的报文。
[0166] 本实施例的装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效 果类似,此处不再赘述。
[0167] 进一步地,生成模块602具体用于:以原子结构类型的输入域的XML节点名表示对 应的输入域标题。
[0168] 或者,生成模块602具体用于:将复杂自定义结构类型的输入域的根节点的所有叶 子节点的标题使用所述第一预设分隔符拼接,生成对应的输入域标题;其中,所述叶子节点 的标题由所述叶子节点的由远及近的所有上级节点名及所述叶子节点使用第二预设分隔 符拼接而成。
[0169] 或者,生成模块602具体用于:确定数组结构类型输入域的所有叶子节点的标题; 将所述所有叶子节点的标题用第三预设分隔符连接,并在最前的叶子节点的标题前端和最 后的叶子节点的标题后端采用第一预设括号括起;在第一预设括号的左括号的前端添加数 组结构类型输入域名,并在数组结构类型输入域名前端和第一预设括号右括号的后端采用 第二预设括号括起。
[0170] 进一步地,生成模块602,还用于:在数组结构类型输入域名前添加所述数组结构 类型的数组成员个数的最小预设个数和最大预设个数,将最小预设个数和最大预设个数采 用第三预设分隔符连接,并采用第一预设括号将采用第三预设分隔符连接后的最小预设个 数和最大预设个数括起。
[0171] 进一步地,若测试案例的数据行中包括数组结构类型数据,则所述数据行中对应 的数组结构类型数据包括所有数组成员节点的数据,所述数组成员节点的数据由数组节点 的所有叶子节点数据用第三预设分隔符连接而成。
[0172] 进一步地,拼接模块606,具体用于:若确定所述标题行中某输入域的结构类型为 数组结构类型,则根据数组结构类型的标题得到数组成员的数据成员个数,将数组结构类 型的数据按照所述数据成员个数分成若干组,每组数据结合标题拼装成一个数组成员的 XML报文;将所有数组成员的XML报文组合,生成数组结构类型的XML报文节点。
[0173] 可选地,本实施例中,所述标题行中每个输入域类型的标题的开始位置还包括输 入域的数据类型,所述输入域的数据类型包括一下任意一种或多种:字符型、整型、浮点型。
[0174] 进一步地,本实施例可以执行图2-图5所示方法实施例的技术方案,其实现原理和 技术效果类似,此处不再赘述。
[0175] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依 然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进 行等同
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1