接口测试方法及装置与流程

文档序号:12464212阅读:260来源:国知局
接口测试方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种接口测试方法及装置。



背景技术:

接口测试是对系统间的接口进行的一种测试。接口测试主要用于检测系统与系统之间,以及系统内部的各个子系统之间的交互接口是否正常。

现有技术中,通常采用Postman、Soap UI和Selenium等自动化测试工具进行服务端的接口测试。具体的,测试人员根据某个测试用例的需求文档中预设的期望值在自动化测试工具中预先设置验证点(验证点可以包括某个特定关键字(英文:key)、特定的值(英文:value)、某个值出现的次数等),再在自动化测试工具中输入请求方式、请求访问地址(也称为统一资源定位符(英文:Uniform Resource Locator;简称:URL))、请求参数等来对待测的接口进行接口测试,得到返回值。最后根据预先设置的验证点,验证返回值中的相应内容,当返回值中的相应内容与预先设置的验证点中的内容一致时,确定当前该接口正常;当返回值中的相应内容与预先设置的验证点中的内容不一致时,确定该接口异常。

但是目前对返回值进行验证时,仅是验证了预先设置的验证点中的内容,由于验证点是测试人员预先设置的,当返回值的数据量过大时,无法保证为返回值中的所有数据设置验证点,从而无法保证返回值中的所有内容都能得到验证,易发生漏测现象,所以接口测试的可靠性较差。



技术实现要素:

为了解决现有技术中无法保证返回值中的所有内容都能得到验证,易发生漏测现象,接口测试的可靠性较差的问题,本发明实施例提供了一种接口测试方法及装置。所述技术方案如下:

第一方面,提供了一种接口测试方法,所述方法包括:

通过待测接口执行测试用例,得到目标返回值;

将所述目标返回值的内容与预设的目标期望值的内容进行比较,所述目标期望值是根据执行所述测试用例得到的初始返回值和所述测试用例的需求文档获得的;

根据比较结果,判断所述待测接口是否正常。

在本发明实施例中,将从待测接口返回的目标返回值的内容与预设的目标期望值的内容进行比较,由于该目标期望值是根据执行测试用例的初始返回值和该测试用例的需求文档获得的,与现有技术中根据预先设置的验证点验证返回值的相应内容相比,本发明实施例可以验证目标返回值的所有内容,可以有效避免发生漏测现象,提高了接口测试的可靠性。

可选的,在所述通过待测接口执行测试用例之前,所述方法还包括:

通过所述待测接口执行所述测试用例,得到所述初始返回值;

当所述初始返回值与所述需求文档中的预设期望值相同时,将所述初始返回值确定为目标期望值。

本发明实施例提供的接口测试方法,将测试人员确定正确的初始返回值设置为目标期望值,无需手工设置验证点,降低了测试用例的维护成本,提高了测试效率。

可选的,所述将所述目标返回值的内容与预设的目标期望值的内容进行比较,包括:

判断所述目标返回值的数据格式与所述目标期望值的数据格式是否相同;

当所述目标返回值的数据格式与所述目标期望值的数据格式相同时,根据所述目标返回值的数据类型,对所述目标返回值的内容与所述目标期望值的内容进行比较。

本发明实施例中,最先判断目标返回值的内容与预设的目标期望值的内容是否相同,当目标返回值的内容与预设的目标期望值的内容不相同时,结束比较过程,当目标返回值的内容与预设的目标期望值的内容相同时,再比较目标返回值的内容与目标期望值的内容,这种接口测试的比较顺序效率较高。

可选的,所述根据所述目标返回值的数据类型,对所述目标返回值的内容与所述目标期望值的内容进行比较,包括:

确定所述目标返回值的数据类型,所述数据类型为对象或数组;

当所述数据类型为对象时,对所述目标返回值的内容与所述目标期望值的内容执行对象比较操作;

当所述数据类型为数组时,对所述目标返回值的内容与所述目标期望值的内容执行数组比较操作。

本发明实施例中,当数据类型为对象时,执行对象比较操作,当数据类型为数组时,执行数组比较操作,可以全面的将目标返回值的内容与目标期望值的内容进行比较,分类比较还可以提高接口测试的测试效率。

可选的,所述目标返回值包括关键字和与所述关键字对应的值,

所述对所述目标返回值的内容与所述目标期望值的内容执行对象比较操作,包括:

判断所述目标返回值的关键字的个数与所述目标期望值的关键字的个数是否相同;

当所述目标返回值的关键字的个数与所述目标期望值的关键字的个数相同时,判断所述目标返回值的关键字的格式与所述目标期望值的关键字的格式是否相同;

当所述目标返回值的关键字的格式与所述目标期望值的关键字的格式相同时,判断所述目标返回值的关键字的名称与所述目标期望值的关键字的名称是否相同;

当所述目标返回值的关键字的名称与所述目标期望值的关键字的名称相同时,判断所述目标返回值的关键字对应的值与所述目标期望值的关键字对应的值是否相同;

所述根据比较结果,判断待测接口是否正常,包括:

当所述目标返回值的关键字对应的值与所述目标期望值的关键字对应的值相同时,确定所述待测接口正常。

这种对目标返回值的内容与目标期望值的内容执行对象比较操作的方法,可以保证对象中的所有内容均得到验证,完成对目标返回值的全遍历比对,提高了接口测试的可靠性。

进一步的,所述对所述目标返回值的内容与所述目标期望值的内容执行对象比较操作,还包括:

当满足以下任意一种,结束所述对象比较操作,并发出报错提示信息:

所述目标返回值的关键字的个数与所述目标期望值的关键字的个数不相同;

所述目标返回值的关键字的格式与所述目标期望值的关键字的格式不相同;

所述目标返回值的关键字的名称与所述目标期望值的关键字的名称不相同;

所述目标返回值的关键字对应的值与所述目标期望值的关键字对应的值不相同。

本发明实施例中,当满足上述任意一种情况时,将会结束对象比较操作,并可以发出相应的报错提示信息,该报错提示信息用于提示测试人员待测接口不正常,测试人员可以根据相应的报错提示信息对待测接口进行修复。

可选的,所述对所述目标返回值的内容与所述目标期望值的内容执行数组比较操作,包括:

判断所述目标返回值的长度与所述目标期望值的长度是否相同;

当所述目标返回值的长度与所述目标期望值的长度相同时,判断所述目标返回值的元素的内容与所述目标期望值的元素的内容是否相同;

所述根据比较结果,判断所述待测接口是否正常,包括:

当所述目标返回值的元素的内容与所述目标期望值的元素的内容相同时,确定所述待测接口正常。

这种对目标返回值的内容与目标期望值的内容执行数组比较操作的方法,可以保证数组中的所有内容均得到验证,完成对目标返回值的全遍历比对,提高了接口测试的可靠性。

可选的,所述对所述目标返回值的内容与所述目标期望值的内容执行数组比较操作,还包括:

当所述目标返回值的长度与所述目标期望值的长度不相同或所述目标返回值的元素的内容与所述目标期望值的元素的内容不相同时,结束所述数组比较操作,并发出报错提示信息。

本发明实施例中,当满足上述两种情况中任一种情况时,将会结束数组比较操作,并可以发出相应的报错提示信息,该报错提示信息用于提示测试人员待测接口不正常,测试人员可以根据相应的报错提示信息对待测接口进行修复。

第二方面,提供了一种接口测试装置,所述装置包括:

第一执行模块,用于通过待测接口执行测试用例,得到目标返回值;

比较模块,用于将所述目标返回值的内容与预设的目标期望值的内容进行比较,所述目标期望值是根据执行所述测试用例得到的初始返回值和所述测试用例的需求文档获得的;

判断模块,用于根据比较结果,判断所述待测接口是否正常。

可选的,所述装置还包括:

第二执行模块,用于通过所述待测接口执行所述测试用例,得到所述初始返回值;

确定模块,用于当所述初始返回值与所述需求文档中的预设期望值相同时,将所述初始返回值确定为目标期望值。

可选的,所述比较模块,包括:

判断子模块,用于判断所述目标返回值的数据格式与所述目标期望值的数据格式是否相同;

比较子模块,用于当所述目标返回值的数据格式与所述目标期望值的数据格式相同时,根据所述目标返回值的数据类型,对所述目标返回值的内容与所述目标期望值的内容进行比较。

可选的,所述比较子模块,包括:

确定单元,用于确定所述目标返回值的数据类型,所述数据类型为对象或数组;

第一执行单元,用于当所述数据类型为对象时,对所述目标返回值的内容与所述目标期望值的内容执行对象比较操作;

第二执行单元,用于当所述数据类型为数组时,对所述目标返回值的内容与所述目标期望值的内容执行数组比较操作。

可选的,所述目标返回值包括关键字和与所述关键字对应的值,

所述第一执行单元,用于:

判断所述目标返回值的关键字的个数与所述目标期望值的关键字的个数是否相同;

当所述目标返回值的关键字的个数与所述目标期望值的关键字的个数相同时,判断所述目标返回值的关键字的格式与所述目标期望值的关键字的格式是否相同;

当所述目标返回值的关键字的格式与所述目标期望值的关键字的格式相同时,判断所述目标返回值的关键字的名称与所述目标期望值的关键字的名称是否相同;

当所述目标返回值的关键字的名称与所述目标期望值的关键字的名称相同时,判断所述目标返回值的关键字对应的值与所述目标期望值的关键字对应的值是否相同;

所述判断模块,用于:

当所述目标返回值的关键字对应的值与所述目标期望值的关键字对应的值相同时,确定所述待测接口正常。

可选的,所述第一执行单元,还用于:

当满足以下任意一种,结束所述对象比较操作,并发出报错提示信息:

所述目标返回值的关键字的个数与所述目标期望值的关键字的个数不相同;

所述目标返回值的关键字的格式与所述目标期望值的关键字的格式不相同;

所述目标返回值的关键字的名称与所述目标期望值的关键字的名称不相同;

所述目标返回值的关键字对应的值与所述目标期望值的关键字对应的值不相同。

可选的,所述第二执行单元,用于:

判断所述目标返回值的长度与所述目标期望值的长度是否相同;

当所述目标返回值的长度与所述目标期望值的长度相同时,判断所述目标返回值的元素的内容与所述目标期望值的元素的内容是否相同;

所述判断模块,用于:

当所述目标返回值的元素的内容与所述目标期望值的元素的内容相同时,确定所述待测接口正常。

可选的,所述第二执行单元,还用于:

当所述目标返回值的长度与所述目标期望值的长度不相同或所述目标返回值的元素的内容与所述目标期望值的元素的内容不相同时,结束所述数组比较操作,并发出报错提示信息。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例提供的接口测试方法及装置,将从待测接口返回的目标返回值的内容与预设的目标期望值的内容进行比较,由于该目标期望值是根据执行测试用例的初始返回值和该测试用例的需求文档获得的,与现有技术中根据预先设置的验证点验证返回值的相应内容相比,本发明实施例可以验证目标返回值的所有内容,可以有效避免发生漏测现象,提高了接口测试的可靠性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种接口测试方法的流程图;

图2-1是本发明实施例提供的另一种接口测试方法的流程图;

图2-2是本发明实施例提供的一种比较目标返回值与目标期望值的方法流程图;

图2-3是本发明实施例提供的一种根据数据类型比较目标返回值与目标期望值的方法流程图;

图2-4是本发明实施例提供的一种执行对象比较操作的方法流程图;

图2-5是本发明实施例提供的一种执行数组比较操作的方法流程图;

图3是本发明实施例提供的一种接口测试装置的结构示意图;

图4-1是本发明实施例提供的另一种接口测试装置的结构示意图;

图4-2是本发明实施例提供的一种比较模块的结构示意图;

图4-3是本发明实施例提供的一种比较子模块的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1是本发明实施例提供的一种接口测试方法的流程图,如图1所示,该方法可以包括:

步骤101、通过待测接口执行测试用例,得到目标返回值。

步骤102、将该目标返回值的内容与预设的目标期望值的内容进行比较,该目标期望值是根据执行该测试用例得到的初始返回值和该测试用例的需求文档获得的。

步骤103、根据比较结果,判断待测接口是否正常。

综上所述,本发明实施例提供的接口测试方法,将从待测接口返回的目标返回值的内容与预设的目标期望值的内容进行比较,由于该目标期望值是根据执行测试用例的初始返回值和该测试用例的需求文档获得的,与现有技术中根据预先设置的验证点验证返回值的相应内容相比,本发明实施例可以验证目标返回值的所有内容,可以有效避免发生漏测现象,提高了接口测试的可靠性。

图2-1是本发明实施例提供的另一种接口测试方法的流程图,用于服务端,如图2-1所示,该方法可以包括:

步骤201、通过待测接口执行测试用例,得到初始返回值。

需要说明的是,在对待测接口进行接口测试之前,测试人员根据测试用例的需求文档中的内容在自动化测试工具中输入请求方式、请求URL和请求参数等,再通过待测接口执行一次测试用例,得到初始返回值,可选的,该初始返回值可以是在正常的测试环境中执行一次测试用例得到的。

可选的,本发明实施例涉及的待测接口可以为服务端的系统接口。

步骤202、当该初始返回值与测试用例的需求文档中的预设期望值相同时,将初始返回值确定为目标期望值。

需要说明的是,在执行完一次测试用例后,测试人员可以根据该测试用例的需求文档中的预设期望值对初始返回值进行对比验证,当该初始返回值的内容与需求文档中的预设期望值的内容相同时,可以将该初始返回值设置为自动化测试工具中的目标期望值。本发明实施例提供的接口测试方法,无需手工设置验证点,降低了测试用例的维护成本,提高了测试效率。

可选的,当待测接口的返回参数改变或测试用例更改时,在正常环境中再执行一次测试用例,在测试人员确保新的返回值正确的情况下,可以将新的返回值设置为新的目标期望值,便于后续使用。节省人力且可以有效提高测试效率。

步骤203、通过待测接口执行测试用例,得到目标返回值。

可选的,服务端根据需求文档的内容,定期通过待测接口执行测试用例,示例的,可以每隔半小时执行一次测试用例,得到相应的目标返回值。

步骤204、将该目标返回值的内容与预设的目标期望值的内容进行比较。

可选的,服务端可以将每隔半小时执行测试用例后得到的目标返回值的内容与预设的目标期望值的内容进行比较。

可选的,将目标返回值的内容与预设的目标期望值的内容进行比较的过程,如图2-2所示,可以包括:

步骤2041、判断目标返回值的数据格式与目标期望值的数据格式是否相同;当目标返回值的数据格式与目标期望值的数据格式相同时,执行步骤2042;当当目标返回值的数据格式与目标期望值的数据格式不同时,结束步骤。

可选的,该目标期望值的数据格式可以为JSON(英文:JavaScript Object Notiation)格式,判断目标返回值的数据格式与目标期望值的数据格式是否相同,也即是,判断目标返回值的数据格式是否为JSON格式。

需要说明的是,JSON格式是基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的一种轻量级的数据交换格式,包括对象和数组两种数据类型。

步骤2042、根据目标返回值的数据类型,对目标返回值的内容与目标期望值的内容进行比较。

具体的,根据目标返回值的数据类型,对目标返回值的内容与目标期望值的内容进行比较的过程,如图2-3所示,可以包括:

步骤2042a、确定目标返回值的数据类型。

可选的,目标返回值的数据类型可以为对象或数组。

步骤2042b、当数据类型为对象时,对目标返回值的内容与目标期望值的内容执行对象比较操作。

可选的,当数据类型为对象时,目标返回值可以包括关键字和与关键字对应的值,对目标返回值的内容与目标期望值的内容执行对象比较操作的过程,如图2-4所示,可以包括:

步骤b1、判断目标返回值的关键字的个数与目标期望值的关键字的个数是否相同;当目标返回值的关键字的个数与目标期望值的关键字的个数相同时,执行步骤b2;当目标返回值的关键字的个数与目标期望值的关键字的个数不相同时,执行步骤b5。

假设目标期望值为{“城市”:“北京”,“面积”:16800,“population”:1600},其中,关键字有三个,分别为:“城市”、“面积”和“population”,则服务端需要判断目标返回值是否包括三个关键字。

需要说明的是,当目标返回值的关键字的个数与目标期望值的关键字的个数不相同时,服务端可以结束对象比较操作,并发出报错提示信息,用于提示测试人员返回的测试结果有错。示例的,报错提示信息可以为“接口异常,错误类型为关键字个数不匹配”。

步骤b2、判断目标返回值的关键字的格式与目标期望值的关键字的格式是否相同;当目标返回值的关键字的格式与目标期望值的关键字的格式相同时,执行步骤b3;当目标返回值的关键字的格式与目标期望值的关键字的格式不相同时,执行步骤b5。

可选的,关键字的格式可以为整型或字符串。

示例的,参考步骤b1中的例子,关键字“城市”和“面积”的格式为整型,“population”的格式为字符串,则服务端需要判断目标返回值中的关键字是否为两个整型格式的关键字和一个字符串格式的关键字。

需要说明的是,当目标返回值的关键字的格式与目标期望值的关键字的格式不相同时,服务端可以结束对象比较操作,并发出报错提示信息。假设目标返回值中的关键字包括“城市”、“面积”和“人口”,那么该报错提示信息可以为“接口异常,错误类型为关键字“人口”的格式不匹配”。

步骤b3、判断目标返回值的关键字的名称与目标期望值的关键字的名称是否相同;当目标返回值的关键字的名称与目标期望值的关键字的名称相同时,执行步骤b4;当目标返回值的关键字的名称与目标期望值的关键字的名称不相同时,执行步骤b5。

示例的,参考步骤b1中的例子,则服务端需要判断返回目标值的关键字名称是否分别为“城市”、“面积”和“population”。

需要说明的是,当目标返回值的关键字的名称与目标期望值的关键字的名称不相同时,服务端可以结束对象比较操作,并发出报错提示信息。假设目标返回值中的关键字包括“城市”、“面积”和“number”,那么该报错提示信息可以为“接口异常,错误类型为关键字“number”的名称不匹配”。

步骤b4、判断目标返回值的关键字对应的值与目标期望值的关键字对应的值是否相同。

示例的,参考步骤b1中的例子,关键字“城市”对应的值为“北京”,关键字“面积”对应的值为“16800”,关键字“population”对应的值为“1600”,则需要判断目标返回值的关键字对应的值是否与目标期望值的关键字对应的值相同。

需要说明的是,当目标返回值的关键字对应的值与目标期望值的关键字对应的值不同时,服务端可以结束对象比较操作,并发出报错提示信息。假设关键字“城市”对应的值不为“北京”,那么该报错提示信息可以为“接口异常,错误类型为关键字“城市”对应的值不匹配”。

步骤b5、结束对象比较操作,并发出报错提示信息。

步骤b5的具体过程可以对应参考步骤b1至步骤b4中的说明。

需要说明的是,在对目标返回值的内容与目标期望值的内容执行对象比较操作时,只要保证关键字的个数、关键字的格式、关键字的名称和关键字对应的值都被比较即可,上述步骤b1至步骤b4的比较顺序为本发明实施例提供的一种可选的比较顺序,本发明实施例对比较顺序不做限定。

步骤2042c、当数据类型为数组时,对目标返回值的内容与目标期望值的内容执行数组比较操作。

可选的,当数据类型为数组时,对目标返回值的内容与目标期望值的内容执行数组比较操作的过程,如图2-5所示,可以包括:

步骤c1、判断目标返回值的长度与目标期望值的长度是否相同;当目标返回值的长度与目标期望值的长度相同时,执行步骤c2;当目标返回值的长度与目标期望值的长度不相同时,执行步骤c3。

需要说明的是,目标期望值的数组的长度也即是数组中元素的个数。假设目标期望值为数组[“北京”,16800,1600],该数组的长度为3,则服务端需要判断目标返回值中的数组的长度是否为3。

需要说明的是,当目标返回值的数组的长度与目标期望值的数组的长度不相同时,服务端可以结束数组比较操作,并发出报错提示信息。示例的,该报错提示信息可以为“接口异常,错误类型为数组长度不匹配”。

步骤c2、判断目标返回值的元素的内容与目标期望值的元素的内容是否相同。

示例的,参考步骤c1中的例子,目标期望值中元素的内容分别为“北京”、“16800”和“1600”,则服务端需要判断目标返回值中的三个元素的内容是否与目标期望值的元素的内容相同。

需要说明的是,当目标返回值的元素的内容与目标期望值的元素的内容不相同时,服务端可以结束数组比较操作,并发出报错提示信息。假设目标返回值的元素包括“上海”、“16800”和“1600”,该报错提示信息可以为“接口异常,错误类型为元素“上海”内容不匹配”。

步骤c3、结束数组比较操作,并发出报错提示信息。

步骤c3的具体过程可以对应参考步骤c1和步骤c2中的说明。

步骤205、根据比较结果,判断待测接口是否正常。

可选的,当数据类型为对象时,对应上述步骤b1至步骤b4,则存在:当目标返回值的关键字对应的值与目标期望值的关键字对应的值相同时,服务端确定待测接口正常。

可选的,当数据类型为数组时,对应上述步骤c1和步骤c2,则存在:当目标返回值的元素的内容与目标期望值的元素的内容相同时,服务端确定待测接口正常。

需要说明的是,JSON格式的数据是可以嵌套的,比如对象可以嵌套数组,数组也可以嵌套对象。对于这种嵌套格式的数据,采用本发明实施例提供的接口测试方法同样可以实现对目标返回值的内容与预设的目标期望值的内容进行比较的目的。

可选的,当目标返回值的数据类型为对象时,对象中的关键字对应的值的数据类型可以为对象、数组或数据。其中,数据可以包括数字(整数或浮点数)、字符串和逻辑值(true或false),当关键字对应的值的数据类型为数据时,可以直接比较目标返回值的关键字对应的值与目标期望值的关键字对应的值是否相同;当关键字对应的值的数据类型为对象时,对目标返回值的关键字对应的值与目标期望值的关键字对应的值执行对象比较操作;当关键字对应的值的数据类型为数组时,对目标返回值的关键字对应的值与目标期望值的关键字对应的值执行数组比较操作,从而达到对目标返回值的内容与目标返回值的内容进行递归全遍历对比的效果,测试内容更全面,提高了接口测试的可靠性。

可选的,当目标返回值的数据类型为数组时,元素的内容的数据类型可以为对象、数组或数据。当元素的内容的数据类型为数据时,可以直接比较目标返回值的元素的内容与目标期望值的元素的内容是否相同;当元素的内容的数据类型为对象时,对目标返回值的元素的内容与目标期望值的元素的内容执行对象比较操作;当元素的内容的数据类型为数组时,对目标返回值的元素的内容与目标期望值的元素的内容执行数组比较操作,从而达到对目标返回值的内容与目标返回值的内容进行递归全遍历对比的效果,测试内容更全面,提高了接口测试的可靠性。

综上所述,本发明实施例提供的接口测试方法,将从待测接口返回的目标返回值的内容与预设的目标期望值的内容进行递归全遍历比较,由于该目标期望值是根据执行测试用例的初始返回值和该测试用例的需求文档获得的,与现有技术中根据预先设置的验证点验证返回值的相应内容相比,本发明实施例可以验证目标返回值的所有内容,测试内容更全面,可以有效避免发生漏测现象,提高了接口测试的可靠性。

图3是本发明实施例提供的一种接口测试装置30的结构示意图,如图3所示,该装置30包括:

第一执行模块301,用于通过待测接口执行测试用例,得到目标返回值。

比较模块302,用于将目标返回值的内容与预设的目标期望值的内容进行比较,该目标期望值是根据执行该测试用例得到的初始返回值和该测试用例的需求文档获得的。

判断模块303,用于根据比较结果,判断待测接口是否正常。

综上所述,本发明实施例提供的接口测试装置,通过比较模块将从待测接口返回的目标返回值的内容与预设的目标期望值的内容进行比较,由于该目标期望值是根据执行测试用例的初始返回值和该测试用例的需求文档获得的,与现有技术中设置验证点进行验证返回值的内容相比,本发明实施例可以验证目标返回值的所有内容,可以有效避免发生漏测现象,提高了接口测试的可靠性。

可选的,如图4-1所示,该装置30还可以包括:

第二执行模块304,用于通过待测接口执行所述测试用例,得到初始返回值。

确定模块305,用于当初始返回值与需求文档中的预设期望值相同时,将该初始返回值确定为目标期望值。

图4-1中的其他标记含义可以参考图3。

可选的,如图4-2所示,比较模块302可以包括:

判断子模块3021,用于判断目标返回值的数据格式与目标期望值的数据格式是否相同。

比较子模块3022,用于当目标返回值的数据格式与目标期望值的数据格式相同时,根据目标返回值的数据类型,对目标返回值的内容与目标期望值的内容进行比较。

可选的,如图4-3所示,比较子模块3022可以包括:

确定单元3022a,用于确定目标返回值的数据类型,该数据类型为对象或数组。

第一执行单元3022b,用于当数据类型为对象时,对目标返回值的内容与目标期望值的内容执行对象比较操作。

第二执行单元3022c,用于当数据类型为数组时,对目标返回值的内容与目标期望值的内容执行数组比较操作。

可选的,一方面,当数据类型为对象时,目标返回值可以包括关键字和与关键字对应的值,该第一执行单元3022b可以用于:

判断目标返回值的关键字的个数与目标期望值的关键字的个数是否相同;当目标返回值的关键字的个数与目标期望值的关键字的个数相同时,判断目标返回值的关键字的格式与目标期望值的关键字的格式是否相同;当目标返回值的关键字的格式与目标期望值的关键字的格式相同时,判断目标返回值的关键字的名称与目标期望值的关键字的名称是否相同;当目标返回值的关键字的名称与目标期望值的关键字的名称相同时,判断目标返回值的关键字对应的值与述目标期望值的关键字对应的值是否相同。

相应的,判断模块303可以用于:

当目标返回值的关键字对应的值与目标期望值的关键字对应的值相同时,确定待测接口正常。

可选的,该第一执行单元3022b,还可以用于:

当满足以下任意一种,结束该对象比较操作,并发出报错提示信息:

目标返回值的关键字的个数与目标期望值的关键字的个数不相同;目标返回值的关键字的格式与目标期望值的关键字的格式不相同;目标返回值的关键字的名称与目标期望值的关键字的名称不相同;目标返回值的关键字对应的值与目标期望值的关键字对应的值不相同。

另一方面,当数据类型为数组时,目标返回值可以包括元素,第二执行单元3022c可以用于:

判断目标返回值的长度与目标期望值的长度是否相同;当目标返回值的长度与目标期望值的长度相同时,判断目标返回值的元素的内容与目标期望值的元素的内容是否相同。

相应的,判断模块303可以用于:

当目标返回值的元素的内容与目标期望值的元素的内容相同时,确定待测接口正常。

可选的,第二执行单元3022c,还可以用于:

当目标返回值的长度与目标期望值的长度不相同或目标返回值的元素的内容与目标期望值的元素的内容不相同时,结束数组比较操作,并发出报错提示信息。

可选的,上述数据格式可以为JSON格式。

综上所述,本发明实施例提供的接口测试装置,通过比较模块将从待测接口返回的目标返回值的内容与预设的目标期望值的内容进行递归全遍历比较,由于该目标期望值是根据执行测试用例的初始返回值和该测试用例的需求文档获得的,与现有技术中根据预先设置的验证点验证返回值的相应内容相比,本发明实施例可以验证目标返回值的所有内容,测试内容更全面,可以有效避免发生漏测现象,提高了接口测试的可靠性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的可选实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1