具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为解决现有技术接口测试效率较低的问题,本发明实施例提供了一种接口测试方法、装置及电子设备。
具体的,本发明实施例提供的一种接口测试方法的应用场景可以为:第一设备获得多个接口测试用例,按照多个接口测试用例的执行顺序,针对每个接口测试用例,采用如下方式执行:判断当前接口测试用例是否存在目标接口测试用例,如果存在,判断是否成功获取到目标测试结果值,如果成功,则将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,执行当前接口测试用例,从而实现了提高接口测试效率。
下面对本发明实施例提供的一种接口测试方法进行详细说明。
需要说明的是,具有依赖关系的两个接口测试用例是指一个接口测试用例的测试参数的具体值包括:另一个接口测试用例被执行后的测试结果值,也就是,一个接口测试用例的全部或部分测试参数的具体值为:另一个接口测试用例被执行后的全部或部分测试结果值,则称一个接口测试用例依赖另一个接口测试用例,另一个接口测试用例被一个接口测试用例依赖。
例如,购买网站的创建订单接口对应的接口测试用例(以下简称创建订单接口测试用例)A和提交订单接口对应的接口测试用例(以下简称提交订单接口测试用例)B,接口测试用例A被执行后的测试结果值为订单号,如果接口测试用例B的测试参数需要用到接口测试用例A被执行后的订单号,则可以认为接口测试用例B依赖接口测试用例A,接口测试用例A被接口测试用例B依赖,接口测试用例B与接口测试用例A为具有依赖关系的两个接口测试用例。
参照图1,图1中该接口测试方法应用于第一设备,第一设备可以是客户端设备,在其他实施方式中,第一设备也可以是服务端设备。该方法包括:
S101、获得多个接口测试用例,多个接口测试用例中具有依赖关系的两个接口测试用例中,被依赖的接口测试用例的执行顺序在前;
具体的,获得多个接口测试用例的步骤可以包括:从第二设备获得多个接口测试用例,其中,具有依赖关系的两个接口测试用例中,被依赖的接口测试用例的执行顺序可以在前,其他不具有依赖关系的各个接口测试用例的执行顺序可以事先任意设置。
示例性的,获得的多个接口测试用例包括:A、B、C、D、E,其中,B依赖A,D、E依赖C,则这五个接口测试用例的执行顺序可以是:A的执行顺序必须在B的前面,C的执行顺序必须在D、E的前面,而A、B一组和C、D、E一组的执行顺序可以随意,D和E之间的执行顺序可以随意,执行顺序随意是指可以是串行执行,也可以是并行执行。
本步骤中的多个接口测试用例,以及多个接口测试用例的执行顺序可以是在第二设备上生成的,其中,第二设备可以是服务端设备,在其他实施方式中,第二设备也可以是客户端设备。
客户端设备和服务端设备可以为同一种类型的物理实体,也可以为不同类型的物理实体,例如,可以均为平板电脑、个人电脑、计算机等终端设备中的一种。终端设备中安装的系统可以为Windows系统,也可以为Linux系统。
具体的,在第二设备上,可以按照以下方式生成带有执行顺序的多个接口测试用例:
S201、选择多个接口测试用例;
本发明实施例对具体的选择多个接口测试用例的方式不做限定。例如,在一种实现方式中,该方式可以为:用户可以通过人机交互界面选择接口测试用例的标识信息,从而,人机交互界面可以获取用户选择的各个接口测试用例的标识信息;进一步的,第二设备可以从该人机交互界面获得各个标识信息,并按照所获得的各个标识信息,从预设的接口测试用例列表中选择与各个标识信息对应的各个接口测试用例,其中,每个标识信息对应唯一接口测试用例。
具体的,人机交互界面可以位于第二设备中,也可以位于第一设备中,还可以位于除第一设备与第二设备以外的其他设备中,本发明实施例对此不做限定。
其中,当人机交互界面位于第二设备中时,第二设备可以通过该人机交互界面直接获得各个标识信息;当人机交互界面位于第二设备之外的其他设备中时,人机交互界面所在的设备可以在获取用户选择的各个接口测试用例的标识信息后,主动向第二设备发送各个标识信息,从而第二设备可以获得各个标识信息。
另外,第二设备也可以每隔固定时间段或每达到预设时间点向人机交互界面所在的设备发送获取请求,并接收人机交互界面所在的设备针对该获取请求反馈的各个标识信息。
示例性的,假设预设时间段为1小时,则每隔1小时,向人机交互界面所在的设备发送获取请求,并接收人机交互界面所在的设备针对该获取请求反馈的各个标识信息;假设预设时间点为9:00、14:00、18:00,则每到达每日的9:00、14:00、18:00时,向人机交互界面所在的设备发送获取请求,并接收人机交互界面所在的设备针对该获取请求反馈的各个标识信息。
具体的,标识信息可以是名称、编号、图像等可以唯一标识接口测试用例的信息。用户可以是任何能够操作人机交互界面的普通技术人员。
例如,人机交互界面展示的各个接口测试用例的标识信息为接口测试用例的名称,包括:创建订单、提交订单以及虚拟支付,对应的接口测试用例分别为:创建订单接口测试用例、提交订单接口测试用例、虚拟支付接口测试用例。用户可以通过该人机交互界面选择的标识信息,包括:创建订单、提交订单,则人机交互界面按照获取的各个标识信息,从预设的接口测试用例列表中选择与各个标识信息对应的各个接口测试用例,即:创建订单接口测试用例和提交订单接口测试用例。
S202、调整接口测试用例的执行顺序,使得多个接口测试用例中具有依赖关系的两个接口测试用例中,被依赖的接口测试用例的执行顺序在前;
为了使各个接口测试用例能够按照顺序依次被执行,可以调整已选择的各个接口测试用例的执行顺序,并且,由于具有依赖关系的两个接口测试用例中,一个接口测试用例需要依赖另一个接口测试用例被执行后的测试结果值才能执行,因此,被依赖的接口测试用例的执行顺序需要在依赖其的接口测试用例之前。
具体的,调整接口测试用例的执行顺序的方式可以为:用户可以通过人机交互界面设置的各个标识信息的序号,从而,人机交互界面可以获取用户设置的各个标识信息的序号,进而,第二设备可以从该人机交互界面获得各个标识信息的序号,并按照序号从小到大或从大到小的顺序,对各个标识信息对应的各个接口测试用例进行排序。
例如,已选择的各个接口测试用例包括:创建订单接口测试用例、提交订单接口测试用例以及虚拟支付接口测试用例,人机交互界面展示的已选择的各个接口测试用例的标识信息分别为:创建订单,提交订单,虚拟支付,通过人机交互界面可以获取用户设置的各个标识信息的序号依次为:1、2、3,则第二设备可以从该人机交互界面获得各个标识信息的序号,并按照序号从小到大的顺序,对各个标识信息对应的各个接口测试用例进行排序,得到已选择的各个接口测试用例的排列顺序依次为:创建订单接口测试用例、提交订单接口测试用例、虚拟支付接口测试用例。
第二设备从人机交互界面获得各个标识信息的序号的方式与从人机交互界面获得各个标识信息的方式相同,在此不再赘述。
需要说明的是,本发明实施例以用户通过人机交互界面设置的各个接口测试用例的序号为例进行说明,并不构成对本申请的限定,实际应用中,用户还可以利用人机交互界面提供的位置控制按钮,调整各个接口测试用例的标识信息的位置,使各个标识信息依次排列,从而第二设备可以通过人机交互界面获取用户设置的各个标识信息的排列顺序,并按照该排列顺序,对各个标识信息对应的各个接口测试用例进行排序。
S203、针对多个接口测试用例中的任一个被其他接口测试用例依赖的接口测试用例,配置返回参数,并配置第一预设规则,该第一预设规则规定返回参数的值从该接口测试实例被执行后的返回值中获取;
针对多个接口测试用例中的任一个依赖其他接口测试用例的接口测试用例,配置测试参数,并配置第二预设规则,该第二预设规则规定将该接口测试用例所依赖的接口测试用例的返回参数的值赋给该测试参数。
需要说明的是,任一个接口测试用例可以只存在依赖其的接口测试用例,也可以只存在被其依赖的接口测试用例,还可以既存在依赖其的接口测试用例,又存在被其依赖的接口测试用例,也就是说,任一个接口测试用例可以配置一下信息中的一种或组合:返回参数以及第一预设规则,和/或,测试参数以及第二预设规则。
例如,接口测试用例包括:A、B、C,执行的先后顺序依次为:A、B、C,其中,接口测试用例B依赖接口测试用例A的测试结果值,且接口测试用例B的测试结果值被接口测试用例C依赖,则接口测试用例B需要配置返回参数、第一预设规则、测试参数以及配置第二预设规则。
可以理解的是,返回参数为被其他接口测试用例依赖的接口测试用例中配置的变量参数,包括一个或多个变量参数,也就是,返回参数的值包括一个或多个参数值,一个参数值对应一个变量参数。每个接口测试用例所配置的返回参数可以相同,也可以不同。
对于任一个被其他接口测试用例依赖的接口测试用例,该接口测试用例的返回参数的值可以按照第一预设规则从返回值中获取,第一预设规则可以根据用户需求事先设定,另外,第一预设规则可以采用不同的表现形式,例如,可以采用正则表达式设置第一预设规则,也可以采用Json(JavaScript Object Notation,JS对象标记)模式设置第一预设规则。
示例性的,某个接口测试用例的返回参数包括的变量参数分别为:token和pay_id,采用正则表达式模式设置的第一预设规则包括:规则一、name=“token”value=“(.*?)”>,表示获取变量名为token的返回值;和规则二、name=“orderCode”value=“(.*?)”,表示获取变量名为orderCode的返回值,规则一和规则二分别对应变量参数token和pay_id,则从该接口测试用例的所有返回值中获取变量名为token的返回值,作为变量参数token的参数值;从该接口测试用例的所有返回值中获取变量名为orderCode的返回值,作为变量参数pay_id的参数值。
测试参数为依赖其他接口测试用例的接口测试用例中配置的变量参数,包括一个或多个变量参数,每个接口测试用例所配置的测试参数可以相同,也可以不同,另外,测试参数与返回参数的名称、类型可以相同,也可以不同。
对于任一个依赖其他接口测试用例的接口测试用例,该接口测试用例的测试参数的值可以按照第二预设规则,从其所依赖的接口测试用例的返回参数的值中获取,第二预设规则可以根据用户需求事先设定,另外,第二预设规则可以采用不同的表现形式,例如,可以采用正则表达式配置第二预设规则,也可以采用Json模式配置第二预设规则。
示例性的,接口测试用例包括:A、B,执行的先后顺序依次为:A、B,其中,接口测试用例B的测试参数可以为:package_id,第二预设规则可以为:将接口测试用例A的返回参数token的值赋给package_id,则接口测试用例B的测试参数package_id的值等于接口测试用例A的返回参数token的值。
具体的,用户在通过人机交互界面选择接口测试用例的标识信息以后,还可以通过人机交互界面,向已选择的各个标识信息对应的接口编辑框内输入以下配置信息:返回参数以及第一预设规则,和/或,测试参数以及第二预设规则,进而,人机交互界面可以获得用户输入的配置信息,并将该配置信息发送给第二设备,从而,第二设备可以按照该配置信息,配置已选择的每个接口测试用例的返回参数以及第一预设规则,和/或,测试参数以及第二预设规则。
需要说明的是,为了便于接口测试用例的维护,在一种具体的实施方式中,第二设备所配置的接口测试用例均可以为副本接口测试用例,避免了直接修改原始接口测试用例,从而,有利于接口测试用例的维护。
S204、生成带有执行顺序的多个接口测试用例。
利用S202调整接口测试用例的执行顺序,从而,可以获得各个接口测试用例的执行顺序,进一步的,可以利用S203配置各个接口测试用例的返回参数以及第一预设规则,和/或,测试参数以及第二预设规则,从而,生成带有执行顺序的多个接口测试用例。
需要说明的是,第二设备可以将所生成的带有执行顺序的多个接口测试用例发送给第一设备,从而第一设备可以获得多个接口测试用例。在这种情况下,第一设备和第二设备可以分别为客户端设备和服务器设备,采用的网络结构模式可以为B/S(Browser/Server,浏览器/服务器)模式,也可以为C/S(Client/Server,客户机/服务器模式)模式。
第一设备可以是独立存在的一台客户端设备,也可以为由多个客户端设备构成的客户端设备集群中的某台客户端设备,第二设备可以为服务器设备。当第一设备是独立存在的一台客户端设备时,第二设备可以直接将生成的带有执行顺序的多个接口测试用例发送给该客户端设备;
当第一设备是客户端设备集群中的某台客户端设备时,第二设备可以利用调度算法,从客户端设备集群中选择一台客户端设备,作为目标客户端设备,或者,第二设备可以在接收指定请求后,将指定请求中指定的客户端设备,作为目标客户端设备;进而,将所生成带有执行顺序的多个接口测试用例发送给目标客户端设备。
另外,当第一设备是客户端设备集群中的某台客户端设备时,客户端设备集群中的客户端设备可以分为在线客户端设备和离线客户端设备,第一设备可以通过心跳机制向第二设备发送在线信息,从而,第二设备可以从客户端设备集群中辨别在线客户端设备,进一步的,可以从在线客户端设备中选择一台客户端设备,作为目标客户端设备。
可见,应用本发明实施例提供的技术方案,由第二设备生成带有执行顺序的多个接口测试用例,从而,第一设备可以从第二设备中直接获得多个接口测试用例,无需执行生成多个接口测试用例的步骤,提高了第一设备的执行效率。
S102、按照多个接口测试用例的执行顺序,针对每个接口测试用例,采用如下方式执行:
判断当前接口测试用例是否存在目标接口测试用例,如果存在,判断是否成功获取到目标测试结果值,如果成功,则将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,执行当前接口测试用例。
其中,目标接口测试用例为:被当前接口测试用例依赖的接口测试用例,目标测试结果值为:目标接口测试用例被执行后得到的测试结果值。
可以理解的是,当前接口测试用例为:按照多个接口测试用例的执行顺序,第一设备当前正在执行的接口测试用例。
在另一种具体的实施方式中,如果当前接口测试用例不存在目标接口测试用例,则直接执行当前接口测试用例。
例如,接口测试用例包括:A、B,执行的先后顺序依次为:A、B,其中,当前接口测试用例为B,如果B依赖的接口测试用例为A,也就是,B存在目标接口测试用例,且A被执行后得到的测试结果值,也就是目标测试结果值为20,则第一设备在获得目标测试结果值后,可以将该目标测试结果值作为B的预设测试参数的参数值,也就是,B的预设测试参数的参数值为:20,然后,执行B;或者,如果B不存在目标接口测试用例,则直接执行B。
可以理解的是,目标测试结果值可以包括目标接口测试用例被执行后的全部结果值,也可以只包括部分结果值,具体可以为:上述返回参数的值,也就是,目标接口测试用例被执行后的返回值。预设测试参数可以为:通过S203预先配置的测试参数。
由上述第二预设规则的配置方式可知,相应的,可以采用Json模式获取目标测试结果值,也可以采用正则表达式获取目标测试结果值。实际应用中,也可以采用其他合理的方式获取目标测试结果值,本发明实施例对获取目标测试结果值的方式不做限定。
应用图1所示实施例,在测试过程中,可以获取目标测试结果值,并将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,使得具有相互依赖的关系的两个接口测试用例可以被串行执行,从而可以提高接口测试效率。
为了便于后续分析,在一种具体的实施方式中,所述方法还可以包括:
根据执行各个接口测试用例获得的测试结果值,生成测试结果日志。
第一设备在执行各个接口测试用例后,可以得到各个接口测试用例的测试结果值,进而,可以利用这些测试结果值生成测试结果日志。
可见,应用本发明实施例,可以利用测试结果日志,获得各个接口测试用例的测试结果值,从而,技术人员可以根据各个测试结果值对各个接口测试用例的执行情况进行分析,进而有利于对测试用例进行修改和维护,。
为了节约第一设备的系统资源,该方法还可以包括:
将生成的测试结果日志发送至第二设备。
应用本发明实施例,第一设备在生成测试结果日志以后,可以将测试结果日志发送给第二设备,从而,第二设备可以存储测试结果日志,无需第一设备进行存储,从而,节约了第一设备的系统资源。
进一步的,用户可以通过人机交互界面向第二设备发送测试结果查询请求,测试结果查询请求用于查询已生成的测试结果日志,接收第二设备针对该测试结果查询请求反馈的查询结果,从而可以用户可以通过人机交互界面查看已生成的测试结果日志。
在一种具体的实施方式中,为了减少测试过程的中断,提高测试效率,方法还可以包括:
在未成功获取到目标测试结果值的情况下,将预设值赋给当前接口测试用例预设测试参数,执行当前接口测试用例。
针对每个接口测试用例预设测试参数可以配置一个对应的预设值,预设值的大小可以根据用户需求事先设定,可以为数值的形式,也可以为字符串的形式,本发明实施例对预设值的设置方法以及预设值的大小不做限定。
应用本发明实施例,在获取目标测试结果值失败的情况下,可以将预设值赋给当前接口测试用例预设测试参数,从而,可以完成当前接口测试用例的执行,避免因无法成功获取目标测试结果值,而导致测试过程的中断,提高了测试效率。
下面通过一个具体实例来对本发明实施例进行简单介绍。
将本发明实施例提供的接口测试方法应用于某个接口测试系统,如图3所示,该系统包括服务端设备、人机交互界面以及客户端设备集群,服务端设备包括第一进程、第二进程以及第三进程,其中,第一进程借助Django模型实现,,第二进程借助Samba模型实现,第三进程借助Mysql数据库实现,具体的接口测试处理流程如下:
用户通过人机交互界面向第一进程发送接口测试用例查询请求,该接口测试用例查询请求用于查询服务端设备已有的接口测试用例;
第一进程在接收到接口测试用例查询请求后,向第三进程发送接口测试用例查询消息,以查询第三进程中存储的接口测试用例;
第三进程在接收到接口测试用例查询消息后,向第一进程返回全部可以被执行的接口测试用例的标识信息;
第一进程将接收到的接口测试用例的标识信息渲染成接口测试用例页面,并将该接口测试用例页面,以及所有当前在线的客户端设备的客户端设备标识返回给人机交互界面;每个客户端设备对应唯一客户端设备标识;
用户通过人机交互界面查看该接口测试用例页面以及所有客户端设备标识,并从接口测试用例页面展示的接口测试用例的标识信息中选择待测试的各个接口测试用例的标识信息,并利用人机交互界面提供的位置控制按钮,调整各个接口测试用例的标识信息的位置,并向已选择的各个标识信息对应的接口编辑框内输入配置信息;从显示的所有客户端设备标识中选择执行待测试的各个接口测试用例的客户端设备标识,作为目标客户端设备标识,
人机交互界面利用所获得的各个接口测试用例的标识信息、执行顺序、配置信息、以及目标客户端设备标识,生成接口测试用例生成请求,并将该接口测试用例生成请求发送给第一进程;其中,接口测试用例生成请求用于请求服务端设备生成接口测试用例;
第一进程在接收到接口测试用例生成请求后,向第三进程发送任务创建请求,任务创建请求用于请求第三进程创建任务记录,其中,该任务记录用于存储针对接口测试用例生成请求生成的接口测试用例,每个任务记录对应唯一任务标识;
第三进程在接收到任务创建请求后,利用已有的接口测试用例以及任务创建请求中携带的各个接口测试用例的标识信息、执行顺序和配置信息,生成带有执行顺序的多个接口测试用例,并利用生成的带有执行顺序的多个接口测试用例创建任务记录;生成该任务记录对应的任务标识,将该任务标识返回给第一进程;
第一进程在接收到任务标识后,使用Socket(套接字)将该任务标识发送给目标客户端设备,其中,目标客户端设备为目标客户端设备标识对应的客户端设备;
目标客户端设备利用接收到的任务标识,生成任务获取请求,并将该任务获取请求发送给第三进程,其中,任务获取请求用于获取任务记录;
第三进程在接收到任务获取请求后,利用任务获取请求中携带的任务标识查询已创建的任务记录中与该任务标识对应的任务记录,作为目标任务记录;并将该目标任务记录发送给目标客户端设备;
目标客户端设备在接收到目标任务记录后,获取目标任务记录中存储的带有执行顺序多个接口测试用例,判断是否需要针对该带有执行顺序多个接口测试用例下载测试资源;
如果是,向第二进程发送测试资源获取请求,在接收到第二进程针对该测试资源获取请求返回的测试资源后,按照多个接口测试用例的执行顺序,执行每个接口测试用例;如果否,直接按照多个接口测试用例的执行顺序,执行每个接口测试用例;
目标客户端设备在执行带有执行顺序多个接口测试用例的过程中,获得各个测试结果值,根据各个测试结果值,生成测试结果日志;将测试结果日志发送给第一进程;
第一进程将接收到的测试结果日志写入第二进程;
目标客户端设备在执行完带有执行顺序多个接口测试用例后,生成总结(Summary)报告;并将该总结报告发送给第一进程;
第一进程将接收到的总结报告传入第三进程,以使第三进程存储该总结报告;
用户通过人机交互界面向第一进程发送测试报告获取请求,测试报告获取请求用于获取测试报告,测试报告用于报告接口测试用例的执行情况;
第一进程针对接收的测试报告获取请求,向第三进程发送任务记录查询信息,接收第三进程针对该任务记录查询信息返回的任务记录;并向第二进程发送测试结果日志加载请求,接收第二进程针对该测试结果日志加载请求返回的测试结果日志,利用任务记录以及测试结果日志渲染成测试报告页面;将测试报告页面发送给人机交互界面;
用户通过人机交互界面查看测试报告页面。
可见,应用本发明实施例提供的技术方案,在测试过程中,目标客户端设备可以获取目标测试结果值,并将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,使得具有相互依赖的关系的两个接口测试用例可以被串行执行,从而可以提高接口测试效率,进一步的,由服务端设备生成带有执行顺序的多个接口测试用例,从而,目标客户端设备可以从服务端设备中直接获得多个接口测试用例,无需执行生成多个接口测试用例的步骤,提高了目标客户端设备的执行效率,进一步的,目标客户端设备在生成测试结果日志以后,可以将测试结果日志发送给服务端设备,从而,服务端设备可以存储测试结果日志,无需目标客户端设备进行存储,从而,节约了目标客户端设备的系统资源。
与上述的接口测试方法实施例相对应,本发明实施例还提供一种接口测试装置。
参见图4,图4为本发明实施例提供的一种接口测试装置的结构示意图装置包括:
获得模块41,用于获得多个接口测试用例,多个接口测试用例中具有依赖关系的两个接口测试用例中,被依赖的接口测试用例的执行顺序在前;
第一执行模块42,用于按照多个接口测试用例的执行顺序,针对每个接口测试用例,采用如下方式执行:
判断当前接口测试用例是否存在目标接口测试用例,如果存在,判断是否成功获取到目标测试结果值,如果成功,则将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,执行当前接口测试用例,其中,目标接口测试用例为:被当前接口测试用例依赖的接口测试用例,目标测试结果值为:目标接口测试用例被执行后得到的测试结果值。
可见,应用本发明实施例提供的技术方案,在接口测试过程中,可以获取目标测试结果值,并将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,使得具有相互依赖的关系的两个接口测试用例可以被串行执行,从而可以提高接口测试效率。
可选的,装置还包括:
生成模块,用于根据执行各个接口测试用例获得的测试结果值,生成测试结果日志。
可选的,获得模块,具体用于:
从第二设备获得多个接口测试用例,多个接口测试用例,以及多个接口测试用例的执行顺序是在第二设备生成的。
可选的,装置还包括:
发送模块,用于将生成的测试结果日志发送至第二设备。
可选的,装置还包括:
第二执行模块,用于在未成功获取到目标测试结果值的情况下,将预设值赋给当前接口测试用例预设测试参数,执行当前接口测试用例。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例所提供的接口测试方法,具体的,该接口测试方法包括如下步骤:
获得多个接口测试用例,多个接口测试用例中具有依赖关系的两个接口测试用例中,被依赖的接口测试用例的执行顺序在前;
按照多个接口测试用例的执行顺序,针对每个接口测试用例,采用如下方式执行:
判断当前接口测试用例是否存在目标接口测试用例,如果存在,判断是否成功获取到目标测试结果值,如果成功,则将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,执行当前接口测试用例,其中,目标接口测试用例为:被当前接口测试用例依赖的接口测试用例,目标测试结果值为:目标接口测试用例被执行后得到的测试结果值。
可见,应用本发明实施例提供的技术方案,在接口测试过程中,可以获取目标测试结果值,并将该目标测试结果值作为当前接口测试用例的预设测试参数的参数值,使得具有相互依赖的关系的两个接口测试用例可以被串行执行,从而可以提高接口测试效率。。
需要说明的是,处理器执行存储器上存放的程序而实现的接口测试方法的其他实施例,与前述方法部分提及的接口测试方法的实施例相同,在此不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral PomponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Ne twork Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Applica tion SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的接口测试方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的接口测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、包含指令的计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。