Xml格式的接口测试案例报文的生成方法和装置的制造方法
【技术领域】
[00011本发明实施例涉及接口测试技术领域,尤其涉及一种XML格式的接口测试案例报 文的生成方法和装置。
【背景技术】
[0002] 可扩展标记语言(Extensive Markup Language,简称:XML)由于具有结构化、可扩 展性,非常适合于网络传输和跨平台使用,所以越来越多地应用于描述和交换独立于应用 程序的结构化数据。而在接口测试中,测试案例一般存储为扁平化结构,最常见的形式就是 使用表格存储测试案例,表格首行为标题行,其余每行为一条测试案例的数据。
[0003] 现有技术中,对于基于XML格式的数据报文的应用程序接口,接口对应的请求报文 模板中需要进行数据替换的地方使用预设格式的参数进行占位,测试案例文件首行存储这 些参数的名称,其余行存储对应的参数值。报文组装的过程就是在模板中依次检索参数名, 使用对应的数据替换参数的过程。现有的处理方式,其实忽略了 XML格式的请求报文模板本 身具有的结构,单纯地将XML格式的请求报文模板视为字符串。
[0004] 这种方式需要为每个输入域使用不同的参数来表示,尽管XML格式的请求报文模 板已经包含了节点名称信息,如果某个输入域没有使用参数而是使用了默认值或空值,那 么一旦输入域需要改用测试案例的数据,则原有的测试案例存储文件都要重新生成。同时, 这种方式不支持数组结构类型的输入域,数组结构类型的输入域表现为多次重复出现的 XML节点。另外,这种方式拼装报文的时候都需要请求报文模板的结构信息,且每次参数替 换都要对请求报文模板进行从头到尾查找,效率不高。
【发明内容】
[0005] 本发明提供的一种XML格式的接口测试案例报文的生成方法和装置,对XML数据报 文的应用程序接口的测试案例存储方法进行了优化,实现将结构化的XML报文模板以及数 据存储为扁平的测试案例文件,支持数组结构类型、自定义复杂结构类型,报文拼装的时候 不需要请求报文模板的结构信息,提高了测试案例报文的生成效率,数组成员个数可变;数 组的数据不需要特殊格式;支持输入域的数据类型描述。
[0006] 本发明提供了 XML格式的接口测试案例报文的生成方法,包括:
[0007] 获取应用程序接口的XML格式的请求报文模板,所述请求报文模板包括所述请求 报文模板的结构,所述请求报文模板的结构包括:所述请求报文模板中所有节点的输入域、 每个输入域结构类型;
[0008] 确定所述请求报文模板中每个根节点对应的输入域结构类型,生成相应的输入域 标题,所述每个根节点对应的输入域结构类型包括原子结构类型或复杂自定义结构类型或 数组结构类型;
[0009] 将所有的所述输入域标题使用第一预设分隔符连接获得对应的应用程序接口的 测试案例的标题行;
[0010] 获取用户按照所述请求报文模板的结构输入的对应的应用程序接口的多个测试 案例的数据行,所述每个测试案例的数据行中包括输入的数据及连接所述输入的数据的与 标题行对应的预设分隔符;
[0011] 将所述标题行和所有的数据行写入文件,以获得测试案例存储文件;
[0012] 从测试案例存储文件中读取标题行和数据行;
[0013] 确定所述标题行中每个输入域的结构类型,根据每个输入域的结构类型将每个输 入域标题和对应的数据行的数据,拼装成XML格式报文节点;所述拼装成的XML报文节点包 括:原子结构类型报文节点和/或复杂自定义结构类型报文节点和/或数组结构类型报文节 占.
[0014] 将所有的所述XML格式报文节点组合生成测试案例的报文。
[0015]本发明提供了一种XML格式的接口测试案例报文的生成装置,包括:
[0016] 获取模块,用于获取应用程序接口的XML格式的请求报文模板,所述请求报文模板 包括所述请求报文模板的结构,所述请求报文模板的结构包括:所述请求报文模板中所有 节点的输入域、每个输入域结构类型;
[0017] 生成模块,用于确定所述请求报文模板中每个根节点对应的输入域结构类型,生 成相应的输入域标题,所述每个根节点对应的输入域结构类型包括原子结构类型或复杂自 定义结构类型或数组结构类型;
[0018] 获得模块,用于将所有的所述输入域标题使用第一预设分隔符连接获得对应的应 用程序接口的测试案例的标题行;
[0019] 所述获取模块,还用于获取用户按照所述请求报文模板的结构输入的对应的应用 程序接口的多个测试案例的数据行,所述每个测试案例的数据行中包括输入的数据及连接 所述输入的数据的与标题行对应的预设分隔符;
[0020] 所述获得模块,用于将所述标题行和所有的数据行写入文件,获得测试案例存储 文件;
[0021] 读取模块,用于从测试案例存储文件中读取标题行和数据行;
[0022] 拼装模块,用于确定所述标题行中每个输入域的结构类型,根据每个输入域的结 构类型将每个输入域标题和对应的数据行的数据,拼装成XML格式报文节点;所述拼装成的 XML报文节点包括:原子结构类型报文节点和/或复杂自定义结构类型报文节点和/或数组 结构类型报文节点;
[0023] 所述生成模块,还用于将所有的所述XML格式报文节点组合生成测试案例的报文。
[0024] 本发明实施例提供的XML格式的接口测试案例报文的生成方法和装置通过获取应 用程序接口的XML格式的请求报文模板,请求报文模板包括请求报文模板的结构,请求报文 模板的结构包括:请求报文模板中所有节点的输入域、每个输入域结构类型;确定请求报文 模板中每个根节点对应的输入域结构类型,生成相应的输入域标题,每个根节点对应的输 入域结构类型包括原子结构类型或复杂自定义结构类型或数组结构类型;将所有的输入域 标题使用第一预设分隔符连接获得对应的应用程序接口的测试案例的标题行;获取用户按 照请求报文模板的结构输入的对应的应用程序接口的多个测试案例的数据行,每个测试案 例的数据行中包括输入的数据及连接输入的数据的与标题行对应的预设分隔符;将标题行 和所有的数据行写入文件,以获得测试案例存储文件;从测试案例存储文件中读取标题行 和数据行;确定标题行中每个输入域的结构类型,根据每个输入域的结构类型将每个输入 域标题和对应的数据行的数据,拼装成XML格式报文节点;拼装成的XML报文节点包括:原子 结构类型报文节点和/或复杂自定义结构类型报文节点和/或数组结构类型报文节点;将所 有的XML格式报文节点组合生成测试案例的报文。对XML数据报文的应用程序接口的测试案 例存储方法进行了优化,实现将结构化的XML报文模板以及数据存储为扁平的测试案例文 件,支持数组结构类型、自定义复杂结构类型,报文拼装的时候不需要请求报文模板的结构 信息,提高了测试案例报文的生成效率,数组成员个数可变;数组的数据不需要特殊格式; 支持输入域的数据类型描述。
【附图说明】
[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。
[0026] 图1为本发明XML格式的接口测试案例报文的生成方法实施例一的流程图;
[0027] 图2为本发明方法的实施例中生成复杂自定义结构类型标题的流程图;
[0028] 图3为本发明方法的实施例中生成数组结构类型标题的流程图;
[0029] 图4为本发明方法的实施例中获取数组结构类型数据的流程图;
[0030] 图5为本发明方法的实施例中拼装数组结构类型报文节点的流程图;
[0031 ]图6为本发明XML格式的接口测试案例报文的生成装置实施例一的结构示意图。
【具体实施方式】
[0032]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033]图1为本发明XML格式的接口测试案例报文的生成方法实施例一的流程图,如图1 所示,该方法包括:
[0034]步骤101,获取应用程序接口的XML格式的请求报文模板,请求报文模板包括请求 报文模板的结