CN113760697A - 接口测试的方法、装置、电子设备和存储介质 - Google Patents

接口测试的方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113760697A
CN113760697A CN202010681672.9A CN202010681672A CN113760697A CN 113760697 A CN113760697 A CN 113760697A CN 202010681672 A CN202010681672 A CN 202010681672A CN 113760697 A CN113760697 A CN 113760697A
Authority
CN
China
Prior art keywords
interface
target
tested
test
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010681672.9A
Other languages
English (en)
Inventor
许丹丹
韩威
夏劲伟
刘忠明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202010681672.9A priority Critical patent/CN113760697A/zh
Publication of CN113760697A publication Critical patent/CN113760697A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了接口测试的方法、装置、电子设备和存储介质,涉及计算机技术领域。该方法的一具体实施方式包括:根据接收的目标用户指令,确定各待测试接口的测试信息,测试信息包括待测试接口的接口标识和输入参数、待测试接口之间的参数传递关系和目标结果信息;根据待测试接口的接口标识,获取各待测试接口对应目标服务器的地址信息;根据地址信息和参数传递关系,向目标服务器发送访问请求;接收目标服务器发送的响应数据,并根据响应数据和目标结果信息,确定测试结果。该实施方式能够解决需多个相互关联的测试接口进行测试时,通过逐次调用测试来实现,降低接口测试的效率的问题。

Description

接口测试的方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种接口测试的方法、装置、电子设备和存储介质。
背景技术
接口测试是业务等系统开发和运行中均会执行一种测试方式,通过接口测试可以检测业务系统的接口是否能够正常运行,以避免系统因接口出错而运行出错。目前接口测试的方式通常为,确定并输入待测接口的用于测试的数据后,运行待测试的测试接口,得到测试数据。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
目前的接口测试中,只能进行一个测试接口的调用,而需多个相互关联的测试接口进行测试时,只能通过逐次调用测试来实现,降低接口测试的效率。
发明内容
有鉴于此,本发明实施例提供一种接口测试的方法、装置、系统和存储介质,能够解决需多个相互关联的测试接口进行测试时,只能通过逐次调用测试来实现,降低接口测试的效率的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种接口测试的方法。
本发明实施例的一种接口测试的方法包括:根据接收的目标用户指令,确定各待测试接口的测试信息,所述测试信息包括所述待测试接口的接口标识和输入参数、所述待测试接口之间的参数传递关系和目标结果信息;根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息;根据所述地址信息和所述参数传递关系,向所述目标服务器发送访问请求,所述访问请求包括与所述目标服务器对应待测试接口的接口标识和输入参数;接收所述目标服务器发送的响应数据,并根据所述响应数据和所述目标结果信息,确定测试结果。
在一个实施例中,所述根据接收的目标用户指令,确定各待测试接口的测试信息,包括:
接收目标用户指令,所述目标用户指令包括所述待测试接口的接口标识、所述待测试接口对应的目标接口方法、所述待测试接口的目标入参和所述待测试接口之间的参数传递关系;
根据所述接口标识和所述目标接口方法,查询所述待测试接口的入参模板;
根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述待测试接口的输入参数。
在又一个实施例中,在所述根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述待测试接口的输入参数之前,还包括:
根据所述接口标识,查询所述待测试接口对应的解析数据包,所述解析数据包用于解析所述待测试接口对应的入参模板;
通过所述解析数据包解析所述待测试接口对应的入参模板。
在又一个实施例中,所述参数传递关系包括所述待测接口的输入参数与其他所述待测接口的响应数据之间的对应关系;
所述根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述测试信息包括所述待测试接口的输入参数,包括:
根据第一预设标识,将所述目标入参替换所述入参模板中待替换参数,并根据第二预设标识和所述对应关系,将所述入参模板中与其他所述待测接口的响应数据对应的输入参数替换为其他所述待测接口的响应数据,得出所述待测试接口的输入参数。
在又一个实施例中,所述根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息,包括:
向接口中心发送地址请求,所述地址请求包括所述待测试接口的接口标识;
接收并显示所述接口中心返回的组信息,所述组信息包括所述待测试接口对应服务器的分组信息和标识;
接收测试服务器指令,所述测试服务器指令包括从所述组信息中确定出的所述待测试接口对应的目标服务器信息,所述目标服务器信息包括所述目标服务器所属组的信息和/或所述目标服务器的标识;
向所述接口中心发送目标服务器信息;
接收所述接口中心发送的各所述目标服务器的地址信息。
在又一个实施例中,所述目标结果信息包括待比对数据标识和与所述待比对数据标识对应预期结果;
所述根据所述响应数据和所述测试预期结果确定测试结果,包括:
从所述响应数据中筛选与所述待比对数据标识对应的响应结果;
根据所述待比对数据标识,比较所述响应结果和所述预期结果之间的差异;
将所述响应结果和所述预期结果之间的差异,确定为所述测试结果。
在又一个实施例中,所述根据接收的目标用户指令,确定各待测试接口的测试信息,包括:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例的测试信息;
将所述目标测试用例的测试信息,确定为所述待测试接口的测试信息。
在又一个实施例中,所述根据接收的目标用户指令,确定各待测试接口的测试信息,包括:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识和所述待测试接口的目标入参,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例中测试接口的接口标识、参数传递关系和输入参数,以及所述目标测试用例的目标结果信息;
根据所述目标测试用例中测试接口的输入参数和所述待测试接口的目标入参,确定所述待测试接口的输入参数;
根据所述待测试接口的输入参数、所述目标测试用例中测试接口的接口标识和参数传递关系、所述目标测试用例的目标结果信息,确定所述各待测试接口的测试信息。
在又一个实施例中,所述目标结果信息包括目标接口的接口标识和输入参数、所述目标接口之间的参数传递关系;
在所述根据所述响应数据和所述目标结果信息,确定测试结果之前,还包括:
根据所述目标接口的接口标识,获取各所述目标接口对应服务器的地址信息;
根据所述目标接口对应服务器地址信息和所述目标接口的参数传递关系,向所述目标接口对应服务器发送目标访问请求,并接收所述目标接口对应服务器发送的所述目标接口对应的响应数据,所述目标访问请求包括所述目标接口的接口标识和输入参数;
所述根据所述响应数据和所述目标结果信息,确定测试结果,包括:
根据所述目标接口对应的响应数据和所述目标服务器发送的响应数据,确定测试结果。
在又一个实施例中,在所述根据所述响应数据和所述目标结果信息,确定测试结果之后,还包括:
将所述测试结果发送至目标地址,所述目标地址为预先设置。
为实现上述目的,根据本发明实施例的另一方面,提供了一种接口测试的装置。
本发明实施例的一种接口测试的装置包括:确定单元,用于根据接收的目标用户指令,确定各待测试接口的测试信息,所述测试信息包括所述待测试接口的接口标识和输入参数、所述待测试接口之间的参数传递关系和目标结果信息;获取单元,用于根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息;发送单元,用于根据所述地址信息和所述参数传递关系,向所述目标服务器发送访问请求,所述访问请求包括与所述目标服务器对应待测试接口的接口标识和输入参数;所述确定单元,还用于接收所述目标服务器发送的响应数据,并根据所述响应数据和所述目标结果信息,确定测试结果。
在一个实施例中,所述确定单元,具体用于:
接收目标用户指令,所述目标用户指令包括所述待测试接口的接口标识、所述待测试接口对应的目标接口方法、所述待测试接口的目标入参和所述待测试接口之间的参数传递关系;
根据所述接口标识和所述目标接口方法,查询所述待测试接口的入参模板;
根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述待测试接口的输入参数。
在又一个实施例中,所述确定单元,具体用于:
根据所述接口标识,查询所述待测试接口对应的解析数据包,所述解析数据包用于解析所述待测试接口对应的入参模板;
通过所述解析数据包解析所述待测试接口对应的入参模板。
在又一个实施例中,所述参数传递关系包括所述待测接口的输入参数与其他所述待测接口的响应数据之间的对应关系;
所述确定单元,具体用于:
根据第一预设标识,将所述目标入参替换所述入参模板中待替换参数,并根据第二预设标识和所述对应关系,将所述入参模板中与其他所述待测接口的响应数据对应的输入参数替换为其他所述待测接口的响应数据,得出所述待测试接口的输入参数。
在又一个实施例中,所述获取单元,具体用于:
向接口中心发送地址请求,所述地址请求包括所述待测试接口的接口标识;
接收并显示所述接口中心返回的组信息,所述组信息包括所述待测试接口对应服务器的分组信息和标识;
接收测试服务器指令,所述测试服务器指令包括从所述组信息中确定出的所述待测试接口对应的目标服务器信息,所述目标服务器信息包括所述目标服务器所属组的信息和/或所述目标服务器的标识;
向所述接口中心发送目标服务器信息;
接收所述接口中心发送的各所述目标服务器的地址信息。
在又一个实施例中,所述目标结果信息包括待比对数据标识和与所述待比对数据标识对应预期结果;
所述确定单元,具体用于:
从所述响应数据中筛选与所述待比对数据标识对应的响应结果;
根据所述待比对数据标识,比较所述响应结果和所述预期结果之间的差异;
将所述响应结果和所述预期结果之间的差异,确定为所述测试结果。
在又一个实施例中,所述确定单元,具体用于:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例的测试信息;
将所述目标测试用例的测试信息,确定为所述各待测试接口的测试信息。
在又一个实施例中,所述确定单元具体用于:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识和所述待测试接口的目标入参,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例中测试接口的接口标识、参数传递关系和输入参数,以及所述目标测试用例的目标结果信息;
根据所述目标测试用例中测试接口的输入参数和所述待测试接口的目标入参,确定所述待测试接口的输入参数;
根据所述待测试接口的输入参数、所述目标测试用例中测试接口的接口标识和参数传递关系、所述目标测试用例的目标结果信息,确定所述待测试接口的测试信息。
在又一个实施例中,所述目标结果信息包括目标接口的接口标识和输入参数、所述目标接口之间的参数传递关系;
所述获取单元,还用于根据所述目标接口的接口标识,获取各所述目标接口对应服务器的地址信息;
所述发送单元,还用于根据所述目标接口对应服务器地址信息和所述目标接口的参数传递关系,向所述目标接口对应服务器发送目标访问请求,并接收所述目标接口对应服务器发送的所述目标接口对应的响应数据,所述目标访问请求包括所述目标接口的接口标识和输入参数;
所述确定单元具体用于根据所述目标接口对应的响应数据和所述目标服务器发送的响应数据,确定测试结果。
在又一个实施例中,所述发送单元还用于将所述测试结果发送至目标地址,所述目标地址为预先设置。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的接口测试的方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的接口测试的方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明实施例中,根据目标用户指令,可以确定出各待测试接口的测试信息,如各待测试接口的接口标识和输入参数、待测试接口之间的参数传递关系和目标结果信息;然后根据待测试接口的接口标识,可以获取各待测试接口对应服务器的地址信息;再根据地址信息和参数传递关系,向服务器发送访问请求后,可以接收服务器返回的响应数据,则根据响应数据和目标结果信息可以确定测试结果。如此本发明实施例中,对于待测试接口可以通过测试接口之间的参数传递关系,以整体测试的方式同时对多个待测试接口进行测试,可以得出多个待测试接口的测试结果,从而减少多个待测试接口分别测试的操作,提高接口测试的效率。并且,本发明实施例中可以预先确定出于其目标结果信息,如此在得到待测试接口在测试时的响应数据后,可以通过响应数据和目标结果信息直接确定出测试结果,而不需要在进行人工比对等操作,提高接口测试的效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的接口测试的方法的一种主要流程的示意图;
图2是根据本发明实施例的各输入参数的设置界面的一种示意图;
图3是根据本发明实施例的接口录入界面的一种示意图;
图4是根据本发明实施例的设置测试用例周期执行方式界面的一种示意图;
图5是根据本发明实施例的确定测试结果的方法的一种主要流程的示意图;
图6是根据本发明实施例的HTTP接口的测试用例录入界面的一种示意图;
图7是根据本发明实施例的设置测试用例批量执行界面的一种示意图;
图8是根据本发明实施例的接口测试的装置的主要单元的示意图;
图9是本发明实施例可以应用于其中的又一种示例性系统架构图;
图10是适于用来实现本发明实施例的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。
本发明实施例提供一种接口测试平台,可以用于对接口进行测试,适用于对一个或多个接口进行测试的场景。本发明实施例中,接口测试平台中可以对各个接口进行预先的配置,配置内容包括每个接口的接口信息。接口测试平台中通常可以将接口按照不同业务系统进行配置,所以接口信息可以包括接口标识、接口所属业务系统和业务线、接口对应的接口方法和接口方法对应的入参模板。接口标识可以用于唯一标识接口,其可以包括接口名称、接口所属业务系统和/或业务线等等。业务线可以根据业务包括的功能进行划分,例如可以包括库存、订单管理等等,每个业务线包括一个或多个业务系统,例如,业务线为库存时,可以包括库存预占、库存扣减等业务系统。每个接口可以对应一个或多个接口方法,例如订单查询接口可以对应的接口方法包括订单详情查询、订单裂变查询等等。每个接口方法可以对应一个入参模板,入参模板为该接口方法对应输入参数的模板,入参模板中包括需要替换的参数,需要替换的参数为接口测试时具体输入的参数,入参模板中可以为需要替换的参数设置替换标识,在接口测试时通过替换标识来替换入参模板中需要替换的参数。
本发明实施例中,接口可以包括HTTP类型的接口、JSF类型的接口等等。各接口的入参模板中可以包括多种表达式,例如,可以包括普通变量、数组变量、简单函数,简单函数可以包括UUID、随机数、当前日期、时间戳等等。
其中,普通变量可以定义用于一次替换输入参数中表达式的变量类型,例如,变量名称为pin,由于pin是字符串类型,入参模板中表达式可表示为{"pin":"${pin}"},如果是数字类型变量,则入参模板中表达式可不加引号。普通数组变量可以定义用于循环替换输入参数中表达式的变量类型,例如,变量名称可以为orderIds,变量值可录入多个数值,以“,”或者回车等作为分隔符,入参模板中表达式可表示为{"orderId":"${orderIds}"},接口测试执行时,可以循环遍历每一个orderId的变量值,并替换输入参数的表达式运行测试。json数组变量可以定义用于循环替换入参中表达式的变量类型,例如,变量名称为pinAndOrderIds,变量值可录入多组json对象,如{"orderId":56289232320,"pin":"sunya06"},以“#”或者回车等作为分隔符。入参模板中表达式可表示为"orderId":${pinAndOrderIds.orderId}和"pin":"${pinAndOrderIds.pin}",接口测试运行时,会循环遍历每一个orderId,并替换输入参数表达式运行(orderId为数字类型,表达式可不加引号,pin为字符串类型,表达式加引号)。UUID可以定义可生成32位十六进制随机数的变量类型,可替换入参模板中不允许重复的字段,例如,变量名称为myUUID,入参模板中表达式可表示为{"uuid":"${myUUID}"}。随机数可以定义默认生成11位随机数字的变量类型,可通过变量值指定随机数位数,例如,变量名称为random,变量值可设置为1~16,代表生成1位~16位的随机数字,入参模板中表达式可表示为{"orderId":${random}}。当前日期可以定义默认生成yyyy-MM-dd HH:mm:ss格式的当前时间变量类型,可通过变量值指定时间格式,例如,变量名称为now,变量值可设置为yyyy-MM-dd,入参模板中表达式可表示为{"createDate":"${now}"}。时间戳可以定义默认生成当前时间戳的变量类型,例如,变量名称为timestamp,参数模板中表达式可表示为{"systemtime":${timestamp}}。
另外,UUID、随机数、当前日期、时间戳等系统自定义函数,也可不通过变量,直接使用函数名称写入入参模板。具体如下所示:UUID函数:{"uuid":"${uuid()}"};随机数函数:{"random":${random()}},或指定位数{"random":${random(9)}};当前日期函数:1、{"createTime":"${date()}"},2、指定日期格式{"createDate":"${date('yyyy-MM-dd')}"},3、指定加减天数{"expectDate":"${date('yyyy-MM-dd',10)}"}为当前日期+10天;时间戳函数:{"timestamp":${timestamp}}。
接口测试平台中对各接口进行配置后,可以为用户提供待测试接口的测试信息的输入界面,通过输入界面,用户可以输入与待测试接口的测试信息相关的信息,以实现待测试接口的测试。
需要说明的是,由于接口测试平台中各接口按照不同业务系统进行配置,所以可以为每个接口测试的用户设置接口的调用权限,以便于各接口可以进行安全的测试。通常接口调用可以按照业务线进行权限控制,各接口配置对应的业务线或业务系统下,如果用户需要调用不属于其权限内的接口时,可以通过权限申请等方式来获取调用权限,例如将该用添加到接口对应的组员列表中。
本发明实施例提供了一种接口测试的方法,该方法可由接口测试平台执行,如图1所示,该方法包括以下步骤。
S101:根据接收的目标用户指令,确定各待测试接口的测试信息。
其中,测试信息包括待测试接口的接口标识和输入参数、待测试接口之间的参数传递关系和目标结果信息。对多个接口同时进行测试时,可以对每个待测试的接口确定出对应的测试信息。
用户在通过进行接口测试时,可以通过接口测试平台提供的界面输入指令,即用户指令,目标用户指令为包括与测试信息相关的用户指令。输入参数为与本次接口测试对应的待测试接口的入参。本发明实施例中,对多个接口进行测试,各接口之间存在逻辑顺序,也就是说一个接口的输入参数中可以包括其他接口测试运行的响应数据,即待测试接口之间的参数存在传递关系,所以为了保证接口测试的准确执行,测试信息中还需要待测试接口之间的参数传递关系。
本发明实施例中,目标结果信息用于与待测试接口的响应数据进行比对,其具体可以为对应待测试接口的理想结果、对比结果、预期结果或正确结果等等。
在目标结果信息为用于比对的结果信息时,由于有时接口测试并不需要对所有待测试接口的响应数据进行比对,所以本发明实施例中,目标结果信息可以只包括需要比对的结果信息。
本发明实施例的一种实施方式中,本步骤可以执行为:接收目标用户指令,目标用户指令包括待测试接口的接口标识、待测试接口对应的目标接口方法、待测试接口的目标入参和待测试接口之间的参数传递关系;根据接口标识和目标接口方法,查询待测试接口的入参模板;根据入参模板、目标入参和待测试接口之间的参数传递关系,确定待测试接口的输入参数。
接口测试平台接收用户输入的目标用户指令,目标用户指令中包括了待测试接口的接口标识、待测试接口对应的目标接口方法、待测试接口的目标入参和待测试接口之间的参数传递关系,从而可以根据目标用户指令直接确定出待测试接口的接口标识和待测试接口之间的参数传递关系。接口测试平台根据待测试接口的接口标识和待测试接口对应的目标接口方法,可以确定出本次待测试接口所要测试的功能,同时根据待测试接口的接口标识和待测试接口对应的目标接口方法可以查询出对应本次测试的入参模板,然后根据目标入参和待测试接口之间的参数传递关系替换出入参模板中需要替换的参数,即可得出本次测试对应的输入参数。如图2所示,为用户输入目标入参的一种界面示意图。接口测试平台通过解析接口标识和目标接口方法即可解析出入参模板并显示,如图2所示的界面,用户可以在如图2所示界面中基于入参模板输入目标参数,并通过保存按钮,保存本次接口测试的个性化入参,即输入参数。
本发明实施例中,入参模板中可以预先设置标识,以表示哪些需要被替换。具体的,入参模板中需要被目标入参替换的参数可以设置为第一预设标识,如此根据第一预设标识,可以将目标入参替换入参模板中待替换参数。参数传递关系可以包括待测接口的输入参数与其他待测接口的测试结果之间的对应关系,也即是说一些待测试接口运行后的响应数据为其他待测试接口的输入参数,所以在确定每个待测试接口的输入参数时,需要考虑输入参数是否存在与其他待测接口的响应数据之间的对应关系,如果存在,则在确定输入参数时需要根据对应关系进行替换。具体的,入参模板中需要根据参数传递关系替换的参数可以设置为第二预设标识,如此根据第二预设标识和对应关系,将入参模板中与其他待测接口的响应数据对应的输入参数替换为其他待测接口的响应数据。通过上述过程即可得出个待测试接口的输入参数。
例如,待测试接口A与待测试接口B之间存在参数传递关系,待测试接口A中的一个响应数据为待测试接口B中的一个输入参数,此时待测试接口B的入参模板中可以将待测试接口B中的这个输入参数替换为表示待测试接口A中的对应响应数据的表达式,如可以通过${{}}格式来实现。
具体的,待测试接口A运行后的响应结果可以包括:"orderState":{"orderId":77658266781,}。此时,上述响应数据中的orderId值为待测试接口B的输入参数,则待测试接口B的输入参数可以表示为:{"orderId":"${{orderState.orderId}}",},通过上述表示方式,可以实现待测试接口A与待测试接口B之间参数的传递。
需要说明的是,本发明实施例中,各待测试接口的入参模板有时候需要通过对应的解析数据包进行解析,所以在确定待测试接口的输入参数之前,还可以根据所述接口标识,查询待测试接口对应的解析数据包。解析数据包具体可以为jar包,其可以为待测试接口对应的服务器提供给接口测试平台的。接口测试平台中可以通过配置与待测试接口对应的maven依赖来获取解析数据包。接口测试平台查询解析数据包还可以根据用户指令执行,具体可以为接收用户调用解析数据包的指令后,查询待测试接口对应的解析数据包,如果查询到待测试接口对应的解析数据包,则可以通过点亮显示图标的方式提示给用户;如果查询不到待测试接口对应的解析数据包,则可以通过不点亮显示图标的方式提示给用户。接口测试平台中也可以通过设置图标的方式供用户点击,用户点击图标表示用户发送调用解析数据包的指令。
本发明实施例的又一种实施方式中,对于每一次执行的接口测试可以存储为测试用例,测试用例可以将接口测试的输入数据、测试结果均进行存储,以便于对已完成的接口测试进行查询,或者重新执行。输入数据可以包括各待测试接口的测试信息,以及各待测试接口对应服务器的地址信息。接口测试平台中可以为存储的测试用例设置测试用例的标识,所以通过测试用例的标识可以查询出该测试用户所包括的输入数据和测试结果等等。因此本发明实施例中,本步骤还可以具体执行为:接收目标用户指令,目标用户指令包括目标测试用例的标识,目标测试用例为预先存储;根据目标测试用例的标识,获取目标测试用例的测试信息;将目标测试用例的测试信息,确定为各待测试接口的测试信息。
接口测试平台接收目标用户指令后,目标用户指令包括目标测试用例的标识,所以接口测试平台根据目标测试用例的标识,即可直接获取到目标测试用例的测试信息,也即可确定出各待测试接口的测试信息,如此直接通过已有测试用例的复制,确定出待测试接口的测试信息,不需要用户重新输入,从而在对待测试接口重复测试时节省用户操作,提高测试的效率。
在一些场景中,有时需要对各待测试接口通过输入不同的输入参数来进行不同的接口测试,这些接口测试中各待测试接口的测试信息中只有输入参数不同,此时用户可以通过接口测试平台对已有的测试用例重新确定出输入参数,来实现各待测试接口的测试。所以具体的,本步骤可以具体执行为:接收目标用户指令,目标用户指令包括目标测试用例的标识和待测试接口的目标入参,目标测试用例为预先存储;根据目标测试用例的标识,获取目标测试用例中测试接口的接口标识、参数传递关系和输入参数,以及目标测试用例的目标结果信息;根据目标测试用例中测试接口的输入参数和待测试接口的目标入参,确定待测试接口的输入参数;根据待测试接口的输入参数、目标测试用例中测试接口的接口标识和参数传递关系、目标测试用例的目标结果信息,确定各待测试接口的测试信息。
在上述过程中,目标用户指令包括目标测试用例的标识和待测试接口的目标入参,表示使用已有的测试用例但修改输入参数。此时测试接口平台可以根据目标测试用例的标识查询出该目标测试用例的信息,包括目标测试用例中测试接口的接口标识、参数传递关系和输入参数,以及目标测试用例的目标结果信息。由于本次测试需要修改目标测试用例的输入参数,所以本发明实施例中可以根据待测试接口的目标入参对目标测试用例中测试接口的输入参数进行修改,确定出本次待测试接口的输入参数,进而将待测试接口的输入参数、目标测试用例中测试接口的接口标识和参数传递关系、目标测试用例的目标结果信息,确定为各待测试接口的测试信息。如此在对仅输入参数不同的待测试接口进行重复测试时,可以减少用户输入操作,提高接口测试的效率。
S102:根据待测试接口的接口标识,获取各待测试接口对应目标服务器的地址信息。
其中,在确定出待测试接口的接口标识后,可以基于待测试接口的接口标识,获取各待测试接口对应目标服务器的地址信息。
本发明实施例中,接口测试平台中可以预先存储各接口对应目标服务器的地址信息,所以通过接口标识可以直接获取到各待测试接口对应目标服务器的地址信息。
各接口通常会发布到接口中心,接口中心中可以存储各接口的信息,包括接口标识、接口分组、接口对应服务器的地址信息。由于存在多个服务器可以提供同一个接口服务的情况,即多个服务器可以提供相同的接口对应的服务,也就是说一个接口对应多个服务器,所以接口中心可以将这些对应同一接口的服务器划分为一个或多个组。接口测试时可以对某一个服务器对应的接口进行测试,也可以对一组服务器对应的接口进行测试。所以本步骤中,在确定待测试接口的接口标识后,可以将接口标识发送给接口中心,接口中心可以将接口标识对应目标服务器的地址信息返回给接口测试平台,从而使接口测试平台获取到各待测试接口对应目标服务器的地址信息。
所以本步骤还可以执行为:向接口中心发送地址请求,地址请求包括待测试接口的接口标识;接收并显示接口中心返回的组信息,组信息包括待测试接口对应服务器的组信息和标识;接收测试服务器指令,测试服务器指令包括从组信息中确定出的待测试接口对应的目标服务器信息;向接口中心发送目标服务器信息;接收接口中心发送的目标服务器的地址信息。
接口测试平台向接口中心发送地址请求后,接口中心可以根据接口标识查询出对应的服务器的组信息,并返回给接口测试平台,接口测试平台可以显示接口中心返回的组信息,以便用户选择要进行测试的服务器,然后接口测试平台可以接收用户输入的测试服务器指令,测试服务器指令中指示了待测试接口对应的目标服务器信息,接口测试平台可以根据服务器指令确定待测试接口对应的目标服务器信息,即待测试接口对应的服务器,如此接口测试平台再将目标服务器信息发送给接口中心,从而可以获取到目标服务器的地址信息。其中,组信息可以包括待测试接口对应服务器的分组信息,以及各组中包括服务器的地址信息,如果待测试接口对应服务器没有分组,则可以默认为待测试接口对应服务器属于同一个组。目标服务器信息包括目标服务器所属组的信息和/或目标服务器的标识。用户可以选择某个一组服务器作为目标服务器,此时目标服务器信息包括目标服务器所属组的信息即可;用户也可以选择某一个或多个服务器作为目标服务器,此时如果各服务器的标识不同,则目标服务器信息可以只包括目标服务器的标识,也可以包括目标服务器所属组的信息和目标服务器的标识;如果各组之间存在有标识相同的服务器,则目标服务器信息需要包括目标服务器所属组的信息和目标服务器的标识。
本发明实施例中,服务器的标识可以为各服务器的地址,如IP地址。接口测试平台对各目标服务器可以通过jsfOpenApi获取获取各待测试接口的标识、目标接口方法、目标服务器的IP地址等,并以列表的方式显示,在运行时通过IP地址对待测试接口进行IP直连调用。
S103:根据地址信息和参数传递关系,向目标服务器发送访问请求。
其中,访问请求包括与目标服务器对应待测试接口的接口标识和输入参数。在获取到各待测试接口对应目标服务器的地址信息后,接口测试平台可以向各目标服务器发送访问请求,以便于各目标服务器根据访问请求运行,得出响应数据。响应数据为目标服务器按照访问请求运行待测试接口后得出的结果。由于每个目标服务器均对应一个待测试接口,所以发送给目标服务器的访问请求包括与目标服务器对应待测试接口的接口标识和输入参数。
需要说明的是,为了保证接口测试平台与目标服务器数据传输的安全性,目标服务器通常会设置token(一种验证标识),目标服务器将设置的token提供给接口测试平台,接口测试平台在向目标服务器发送访问请求时可以携带对应的token,目标服务端接收访问请求后,可以对其携带的token进行验证,验证通过后在处理访问请求。本发明实施例中,token可以支持显示token和隐式token,隐式token的表达方式可以为{".authCode":"1",".accessToken":"abc"},显示token的表达方式可以为{"authCode":"1","accessToken":"abc"}。目标服务器可以提供使用hessian序列化方式的接口,也可以使用MsgPack序列化方式的接口,所以接口测试平台中可以对个待测试接口的序列化方式进行配置,并可以根据用户需求或指令进行序列化方式的切换。
S104:接收目标服务器发送的响应数据,并根据响应数据和目标结果信息,确定测试结果。
其中,目标服务器在运行后,会将运行的结果返回给接口测试平台,即返回响应数据。接口测试平台接收响应数据后,可以通过比较响应数据和目标结果信息确定出测试结果。
目标结果信息用于与待测试接口的响应数据进行比对,其具体可以为对应待测试接口的理想结果、对比结果、预期结果或正确结果等等。具体的,目标结果信息可以包括用于比对的结果信息,即为直接与待测试接口的响应数据进行比对结果值,也可以为可以得出与待测试接口的响应数据进行比对结果值的测试信息,即目标接口的测试信息,此时需要对目标结果信息运行后得出与待测试接口的响应数据进行比对结果值。
本步骤中,目标结果信息为直接与待测试接口的响应数据进行比对结果值时,目标结果信息可以包括待比对数据标识和与待比对数据标识对应预期结果;所以根据响应数据和测试预期结果确定测试结果的步骤可以执行为:从响应数据中筛选与待比对数据标识对应的响应结果;根据待比对数据标识,比较响应结果和预期结果之间的差异;将响应结果和预期结果之间的差异,确定为测试结果。
本发明实施例中,目标结果信息中包括的需要对比的结果值可以为键值对的方式,即待比对数据标识和与待比对数据标识对应预期结果组成键值对。由于目标结果信息中所包括的数据通常为本次测试所关注测试结果的数据,所以在接收响应数据后,可以先根据待比对数据标识筛选出待比对数据标识对应的响应结果,即待比对数据标识在本次测试中得出的结果,然后将其与测试预期结果进行比较,从而可以比较响应结果和预期结果之间的差异,进而确定出测试结果。
本发明实施例中,比较响应结果和预期结果之间对于某一个或多个待比对数据的差异可以通过模糊匹配得出,模糊匹配包括全模糊匹配和部分模糊匹配。以待比对参数为createTime为例,全模糊匹配是指响应数据中createTime的响应结果无论是什么均默认为与预期结果相同,具体的全模糊匹配的表达式可以为${*},此时期望结果可以表示为{"createTime":"${*}"},代表响应数据中createTime的值可以不做判断,默认相同。以待比对参数为createTime为例,部分模糊匹配是指响应数据中createTime的响应结果只需要包括部分匹配的参数即可被认为与预期结果相同,具体的部分模糊匹配的表达式可以为部分模糊匹配:${abc?},abc即为部分匹配的参数,如2019,具体的期望结果可以表示为{"createTime":"${2019?}"},代表响应结果中,createTime只要包含2019即可被认为与预期结果相同。
在目标结果信息为用于比对的结果信息时,由于有时接口测试并不需要对所有待测试接口的响应数据进行比对,所以本发明实施例中,目标结果信息可以只包括需要比对的结果信息,此时也可以只对响应数据中与目标结果信息对应的结果信息进行比对。
本发明实施例中,待测试接口可以通过测试接口之间的参数传递关系,以整体测试的方式同时对多个待测试接口进行测试,可以得出多个待测试接口的测试结果,从而减少多个待测试接口分别测试的操作,提高接口测试的效率。并且,本发明实施例中在得到待测试接口在测试时的响应数据后,可以通过响应数据和目标结果信息直接确定出测试结果,而不需要在进行人工比对等操作,提高接口测试的效率。
需要说明的是,在接口测试时,有时会遇到接口测试平台还没有配置待测试的接口,此时可以根据接口录入模板来临时配置待测试接口,具体的接口录入界面可以如图3所示。
本发明实施例中,每次接口测试均可以保存为一个测试用例,并且对每个测试用例可以设置重复执行,以便于可以周期性、或在设置的时间点再次执行本次接口测试,具体的周期执行的方式可以根据用户输入指令实现。例如,可以设置多个时间点触发该测试用例执行。并且本发明实施中,可以设置接收测试结果的地址信息,从而每次执行的测试结果可以发送至该地址信息,具体的地址信息可以为邮件的地址信息。测试结果通常会存储在日志文件中,为了方便用户查看周期执行历史日志,可以设置日志明细的存储时间,具体存储时间可以根据需求设置,或者还可以设置将日志明细通过邮件查看。具体的,设置测试用例周期执行方式的界面可以如图4所示。并且对于属于同一业务线的待测试接口的测试用例,可以统一设置接口监控的用例集,以实现对本业务线内需要监控的测试用例进行监控,如此可以实现在固定的时间接口各待测试接口的调用报告,以便于能够及时发现接口测试中的问题。本发明实施例中,用户对应经常需要调用和测试的接口的测试信息,可以进行收藏。例如,接口测试平台可以提供收藏按钮,用户点击收藏按钮后,表示指示收藏对应的接口,接口测试平台可以将该接口的测试信息保存至该用户的收藏夹中,以便于用户在后续测试时可以快速找到该接口,同时在用户点击收藏按钮后,接口测试平台可以通过点亮(显示固定颜色)收藏图标的方式提示用户已经执行收藏操作。
本发明实施例中,还可以实现测试用例的用例明细进行导入。例如,在当前接口测试中可以用到其他测试用例中包括的待测试接口的信息,则可以直接将该测试用例中待测试接口的信息复制、导入至当前接口测试中,从而可以减少当前接口测试执行的步骤。其中,待测试接口的信息可以包括待测试接口的接口标识、对应服务器的地址信息、输入参数等等。
在图1所示的实施例中,目标结果信息可以包括用于比对的结果信息,也可以为可以得出与待测试接口的响应数据进行比对的结果值的测试信息,即目标接口的测试信息。在目标结果信息包括可以得出与待测试接口的响应数据进行比对结果值的测试信息时,接口测试平台在执行步骤S104中根据所述响应数据和所述目标结果信息,确定测试结果之前,还需要根据目标结果信息运行得出用于比对的结果值。
具体的,结合图1所示实施例,本发明实施例提供一种确定测试结果的方法,对根据目标结果信息运行得出用于比对的结果值,并结合步骤S103中响应数据确定测试结果的过程进行具体说明,其中目标结果信息可以包括目标接口的接口标识和输入参数、目标接口之间的参数传递关系,如图5所示,可以包括如下步骤。
S501:根据目标接口的接口标识,获取各目标接口对应服务器的地址信息。
目标结果信息可以包括目标接口的接口标识和输入参数、目标接口之间的参数传递关系,即为目标接口的测试信息,如此可以通过运行目标接口的测试信息来得到目标接口的运行结果,也即是用于与待测试结果对应响应数据进行比对的结果值。
本步骤中,接口测试平台根据目标接口的接口标识可以获取各目标接口对应服务器的地址信息,获取的方式和原理与步骤S102中获取目标服务器的方式和原理相同,在此不再赘述。
S502:根据目标接口对应服务器地址信息和目标接口的参数传递关系,向目标接口对应服务器发送目标访问请求,并接收目标接口对应服务器发送的目标接口对应的响应数据。
其中,目标访问请求包括目标接口的接口标识和输入参数。
在获取到目标接口对应服务器的地址后,接口测试平台可以向目标接口对应服务器发送访问请求,以便于目标接口对应服务器根据访问请求运行目标接口,得出目标接口对应的响应数据。本发明实施例中,向目标接口对应服务器发送目标访问请求的实现方式和原理与步骤S103中向目标服务器发送访问请求的实现方式和原理相同,在此不再赘述。
目标接口对应的服务器在得出响应数据后,可以将这些目标接口对应的响应数据发送给接口测试平台,即接口测试平台可以接收目标接口对应服务器发送的目标接口对应的响应数据。
S503:根据目标接口对应的响应数据和目标服务器发送的响应数据,确定测试结果。
接口测试平台在接收目标接口对应的响应数据,以及目标服务器发送的响应数据后,可以将目标接口对应的响应数据和目标服务器发送的响应数据比对,进而得出测试结果。
目标接口对应的响应数据和目标服务器发送的响应数据之间进行比对时,可以以目标接口对应的响应数据为基础,比较目标接口对应的响应数据中待打比对参数的值与目标服务器发送的响应数据中对应的值是否相同,并将不行同的部分确定为测试结果。
需要说明的是,本步骤为对S104中根据所述响应数据和所述目标结果信息,确定测试结果的步骤的具体执行方式,其执行原理与步骤S104中相同,在此不再赘述。
本发明实施例中,通过上述过程实现目标结果信息为测试信息,接口测试平台可以实现待测试接口与目标接口实时测试并确定测试结果,不仅简化用户在接口测试中的操作过程,节省确定测试结果的时间,提高接口测试的效率。
需要说明的是,本发明实施例中,还可以通过步骤S101和步骤S102来录入测试用例。具体过程可以为:根据用户指示创建测试用例集(测试用例即可使用项目名称或测试任务名称命名);然后在测试用例集中新建测试用例,并对创建的测试用例的用例详情添加用例明细,如该测试用例包括的待测试接口的测试信息;新建的各测试用例可以调整测试执行的顺序,以及各测试用例中批量修改待测试接口的测试信息等等。如图6所示为HTTP接口的测试用例录入界面的一种示意图。
本发明实施例中,各测试用例可以根据测试用例明细列表顺序执行,即根据测试用例中待测试接口的测试信息执行,如果一个待测试接口对应的多个目标服务器的地址信息,则会遍历所有目标服务器的地址信息执行测试后,再执行下一个待测试接口。具体的接口测试的执行方式可以为立即执行、根据指示执行、周期或定时执行等等,执行的测试结果可在线查看,即通过接口测试平台查看,也可通过设置邮件地址的方式通过邮件查看测试结果。多个测试用例可以组成测试用例集,通过测试用例集可以实现批量执行测试用例。对于测试用例集可以选择部分测试用例批量执行,也可以将测试用例集中全部测试用例批量执行。执行完成后,测试结果同样可以通过邮件等发送到指定邮箱,以便于用户查看执行结果。如图7所示为设置测试用例批量执行的界面的示意图。并且接口测试平台还可以根据用户指示将,通过共享用例集,将整个用例集共享给其他用户。
本发明实施例中,接口测试平台中无需用户编写代码,通过输入用户指令,来确定出待测试接口的测试信息,即可实现各业务场景的接口测试,并且对需要频繁的接口调用,可以通过已经保存、收藏的待测试接口和输入参数中直接选择,对每个待测试接口通过待测试接口的标识即可查询出其相关信息,无需用户自行查找。另外,用户通过对测试用例的周期性执行来监控各待测试接口对应服务器是否处于正常状态,各待测试接口的入参模板中可以使用多种表达式,可以实现对多种复杂场景的接口测试。
为了解决现有技术存在的问题,本发明实施例提供了一种接口测试的装置800,如图8所示,该装置800包括:
确定单元801,用于根据接收的目标用户指令,确定各待测试接口的测试信息,所述测试信息包括所述待测试接口的接口标识和输入参数、所述待测试接口之间的参数传递关系和目标结果信息;
获取单元802,用于根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息;
发送单元803,用于根据所述地址信息和所述参数传递关系,向所述目标服务器发送访问请求,所述访问请求包括与所述目标服务器对应待测试接口的接口标识和输入参数;
所述确定单元801,还用于接收所述目标服务器发送的响应数据,并根据所述响应数据和所述目标结果信息,确定测试结果。
应理解的是,实施本发明实施例的方式与实施图1所示实施例的方式相同,在此不再赘述。
本发明实施例的一种实现方式中,所述确定单元801,具体用于:
接收目标用户指令,所述目标用户指令包括所述待测试接口的接口标识、所述待测试接口对应的目标接口方法、所述待测试接口的目标入参和所述待测试接口之间的参数传递关系;
根据所述接口标识和所述目标接口方法,查询所述待测试接口的入参模板;
根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述待测试接口的输入参数。
本发明实施例的又一种实现方式中,所述确定单元801,具体用于:
根据所述接口标识,查询所述待测试接口对应的解析数据包,所述解析数据包用于解析所述待测试接口对应的入参模板;通过所述解析数据包解析所述待测试接口对应的入参模板。
本发明实施例的又一种实现方式中,所述参数传递关系包括所述待测接口的输入参数与其他所述待测接口的响应数据之间的对应关系;
所述确定单元801,具体用于:
根据第一预设标识,将所述目标入参替换所述入参模板中待替换参数,并根据第二预设标识和所述对应关系,将所述入参模板中与其他所述待测接口的响应数据对应的输入参数替换为其他所述待测接口的响应数据,得出所述待测试接口的输入参数。
本发明实施例的又一种实现方式中,所述获取单元802,具体用于:
向接口中心发送地址请求,所述地址请求包括所述待测试接口的接口标识;
接收并显示所述接口中心返回的组信息,所述组信息包括所述待测试接口对应服务器的分组信息和标识;
接收测试服务器指令,所述测试服务器指令包括从所述组信息和中确定出的所述待测试接口对应的目标服务器信息,所述目标服务器信息包括所述目标服务器所属组的信息和/或所述目标服务器的标识;
向所述接口中心发送目标服务器信息;
接收所述接口中心发送的各所述目标服务器的地址信息。
本发明实施例的又一种实现方式中,所述目标结果信息包括待比对数据标识和与所述待比对数据标识对应预期结果;
所述确定单元801,具体用于:
从所述响应数据中筛选与所述待比对数据标识对应的响应结果;
根据所述待比对数据标识,比较所述响应结果和所述预期结果之间的差异;
将所述响应结果和所述预期结果之间的差异,确定为所述测试结果。
本发明实施例的又一种实现方式中,所述确定单元801,具体用于:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例的测试信息;
将所述目标测试用例的测试信息,确定为所述各待测试接口的测试信息。
本发明实施例的又一种实现方式中,所述确定单元801,具体用于:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识和所述待测试接口的目标入参,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例中测试接口的接口标识、参数传递关系和输入参数,以及所述目标测试用例的目标结果信息;
根据所述目标测试用例中测试接口的输入参数和所述待测试接口的目标入参,确定所述待测试接口的输入参数;
根据所述待测试接口的输入参数、所述目标测试用例中测试接口的接口标识和参数传递关系、所述目标测试用例的目标结果信息,确定所述待测试接口的测试信息。
本发明实施例的又一种实现方式中,所述目标结果信息包括目标接口的接口标识和输入参数、所述目标接口之间的参数传递关系;
所述获取单元802,还用于根据所述目标接口的接口标识,获取各所述目标接口对应服务器的地址信息;
所述发送单元803,还用于根据所述目标接口对应服务器地址信息和所述目标接口的参数传递关系,向所述目标接口对应服务器发送目标访问请求,并接收所述目标接口对应服务器发送的所述目标接口对应的响应数据,所述目标访问请求包括所述目标接口的接口标识和输入参数;
所述确定单元801,具体用于根据所述目标接口对应的响应数据和所述目标服务器发送的响应数据,确定测试结果。
本发明实施例的又一种实现方式中,所述发送单元803还用于将所述测试结果发送至目标地址,所述目标地址为预先设置。
应理解的是,实施本发明实施例的方式与实施图1或图2所示实施例的方式相同,在此不再赘述。
本发明实施例中,对于需要待测试接口可以通过测试接口之间的参数传递关系,通过整体测试的方式同时对多个待测试接口进行测试,可以得出多个待测试接口的测试结果,从而减少多个待测试接口分别测试的操作,提高接口测试的效率。并且,本发明实施例中可以预先确定出于其目标结果信息,如此在得到待测试接口在测试时的响应数据后,可以通过响应数据和目标结果信息直接确定出测试结果,而不需要在进行人工比对等操作,提高接口测试的效率。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例所提供的接口测试的方法。
图9示出了可以应用本发明实施例的接口测试的方法或接口测试的装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种客户端应用。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器905可以是提供各种服务的服务器,可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的接口测试的方法一般由服务器905执行,相应地,接口测试的装置一般设置于服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图10,其示出了适于用来实现本发明实施例的计算机系统1000的结构示意图。图10示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口1005。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,上述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、获取单元和发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“确定单元的功能的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行本发明所提供的接口测试的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (13)

1.一种接口测试的方法,其特征在于,包括:
根据接收的目标用户指令,确定各待测试接口的测试信息,所述测试信息包括所述待测试接口的接口标识和输入参数、所述待测试接口之间的参数传递关系和目标结果信息;
根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息;
根据所述地址信息和所述参数传递关系,向所述目标服务器发送访问请求,所述访问请求包括与所述目标服务器对应待测试接口的接口标识和输入参数;
接收所述目标服务器发送的响应数据,并根据所述响应数据和所述目标结果信息,确定测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据接收的目标用户指令,确定各待测试接口的测试信息,包括:
接收目标用户指令,所述目标用户指令包括所述待测试接口的接口标识、所述待测试接口对应的目标接口方法、所述待测试接口的目标入参和所述待测试接口之间的参数传递关系;
根据所述接口标识和所述目标接口方法,查询所述待测试接口的入参模板;
根据所述入参模板、所述目标入参和所述待测试接口之间的参数传递关系,确定所述待测试接口的输入参数。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述待测试接口的输入参数之前,还包括:
根据所述接口标识,查询所述待测试接口对应的解析数据包,所述解析数据包用于解析所述待测试接口对应的入参模板;
通过所述解析数据包解析所述待测试接口对应的入参模板。
4.根据权利要求2所述的方法,其特征在于,所述参数传递关系包括所述待测接口的输入参数与其他所述待测接口的响应数据之间的对应关系;
所述根据所述入参模板、目标入参和所述待测试接口之间的参数传递关系,确定所述测试信息包括所述待测试接口的输入参数,包括:
根据第一预设标识,将所述目标入参替换所述入参模板中待替换参数,并根据第二预设标识和所述对应关系,将所述入参模板中与其他所述待测接口的响应数据对应的输入参数替换为其他所述待测接口的响应数据,得出所述待测试接口的输入参数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息,包括:
向接口中心发送地址请求,所述地址请求包括所述待测试接口的接口标识;
接收并显示所述接口中心返回的组信息,所述组信息包括所述待测试接口对应服务器的分组信息和标识;
接收测试服务器指令,所述测试服务器指令包括从所述组信息中确定出的所述待测试接口对应的目标服务器信息,所述目标服务器信息包括所述目标服务器所属组的信息和/或所述目标服务器的标识;
向所述接口中心发送所述目标服务器信息;
接收所述接口中心发送的各所述目标服务器的地址信息。
6.根据权利要求1所述的方法,其特征在于,所述目标结果信息包括待比对数据标识和与所述待比对数据标识对应预期结果;
所述根据所述响应数据和所述测试预期结果确定测试结果,包括:
从所述响应数据中筛选与所述待比对数据标识对应的响应结果;
根据所述待比对数据标识,比较所述响应结果和所述预期结果之间的差异;
将所述响应结果和所述预期结果之间的差异,确定为所述测试结果。
7.根据权利要求1所述的方法,其特征在于,所述根据接收的目标用户指令,确定各待测试接口的测试信息,包括:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例的测试信息;
将所述目标测试用例的测试信息,确定为所述各待测试接口的测试信息。
8.根据权利要求1所述的方法,其特征在于,所述根据接收的目标用户指令,确定各待测试接口的测试信息,包括:
接收目标用户指令,所述目标用户指令包括目标测试用例的标识和所述待测试接口的目标入参,所述目标测试用例为预先存储;
根据所述目标测试用例的标识,获取所述目标测试用例中测试接口的接口标识、参数传递关系和输入参数,以及所述目标测试用例的目标结果信息;
根据所述目标测试用例中测试接口的输入参数和所述待测试接口的目标入参,确定所述待测试接口的输入参数;
根据所述待测试接口的输入参数、所述目标测试用例中测试接口的接口标识和参数传递关系、所述目标测试用例的目标结果信息,确定所述待测试接口的测试信息。
9.根据权利要求1所述的方法,其特征在于,所述目标结果信息包括目标接口的接口标识和输入参数、所述目标接口之间的参数传递关系;
在所述根据所述响应数据和所述目标结果信息,确定测试结果之前,还包括:
根据所述目标接口的接口标识,获取各所述目标接口对应服务器的地址信息;
根据所述目标接口对应服务器地址信息和所述目标接口的参数传递关系,向所述目标接口对应服务器发送目标访问请求,并接收所述目标接口对应服务器发送的所述目标接口对应的响应数据,所述目标访问请求包括所述目标接口的接口标识和输入参数;
所述根据所述响应数据和所述目标结果信息,确定测试结果,包括:
根据所述目标接口对应的响应数据和所述目标服务器发送的响应数据,确定测试结果。
10.根据权利要求1所述的方法,其特征在于,在所述根据所述响应数据和所述目标结果信息,确定测试结果之后,还包括:
将所述测试结果发送至目标地址,所述目标地址为预先设置。
11.一种接口测试的装置,其特征在于,包括:
确定单元,用于根据接收的目标用户指令,确定各待测试接口的测试信息,所述测试信息包括所述待测试接口的接口标识和输入参数、所述待测试接口之间的参数传递关系和目标结果信息;
获取单元,用于根据所述待测试接口的接口标识,获取各所述待测试接口对应目标服务器的地址信息;
发送单元,用于根据所述地址信息和所述参数传递关系,向所述目标服务器发送访问请求,所述访问请求包括与所述目标服务器对应待测试接口的接口标识和输入参数;
所述确定单元,还用于接收所述目标服务器发送的响应数据,并根据所述响应数据和所述目标结果信息,确定测试结果。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
CN202010681672.9A 2020-07-15 2020-07-15 接口测试的方法、装置、电子设备和存储介质 Pending CN113760697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010681672.9A CN113760697A (zh) 2020-07-15 2020-07-15 接口测试的方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010681672.9A CN113760697A (zh) 2020-07-15 2020-07-15 接口测试的方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN113760697A true CN113760697A (zh) 2021-12-07

Family

ID=78785483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010681672.9A Pending CN113760697A (zh) 2020-07-15 2020-07-15 接口测试的方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113760697A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356774A (zh) * 2022-01-07 2022-04-15 中国联合网络通信集团有限公司 目标服务的测试方法、装置、设备及存储介质
CN115102879A (zh) * 2022-07-21 2022-09-23 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN116303071A (zh) * 2023-03-29 2023-06-23 上海聚水潭网络科技有限公司 一种接口测试方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356774A (zh) * 2022-01-07 2022-04-15 中国联合网络通信集团有限公司 目标服务的测试方法、装置、设备及存储介质
CN115102879A (zh) * 2022-07-21 2022-09-23 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN115102879B (zh) * 2022-07-21 2023-11-21 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN116303071A (zh) * 2023-03-29 2023-06-23 上海聚水潭网络科技有限公司 一种接口测试方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN113760697A (zh) 接口测试的方法、装置、电子设备和存储介质
CN111104675A (zh) 系统安全漏洞的检测方法和装置
WO2019075845A1 (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
CN113361838A (zh) 业务风控方法、装置、电子设备和存储介质
CN113360376A (zh) 埋点测试方法和装置
CN111221727A (zh) 测试方法、装置、电子设备和计算机可读介质
CN112947919A (zh) 构建业务模型和处理业务请求的方法和装置
CN111782502A (zh) 一种自动化测试的方法及装置
CN115996179A (zh) 业务节点的测试方法、装置、可读介质和电子设备
CN109656791B (zh) 一种基于Jmeter的gRPC性能测试方法及装置
CN109462491B (zh) 用于测试服务器功能的系统、方法和装置
CN113986758A (zh) 回归测试方法和装置、电子设备、计算机可读介质
CN114625458A (zh) 页面数据的处理方法、装置、电子设备和存储介质
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN113312900A (zh) 数据校验的方法和装置
CN115129575A (zh) 一种代码覆盖结果生成方法及装置
CN112579447A (zh) 一种浏览器测试方法和装置
CN113132447A (zh) 反向代理的方法和系统
CN112579428A (zh) 接口测试的方法、装置、电子设备和存储介质
CN115102879B (zh) 一种共享服务平台的测试方法、电子设备及存储介质
CN117130945B (zh) 一种测试方法和装置
CN117312761B (zh) 一种数据片段处理时间计算方法及装置
US20230071504A1 (en) Multi-client orchestrated automated testing platform
CN113986661A (zh) 日志输出的方法、装置、电子设备和存储介质
CN109376023B (zh) 用于生成调用信息、发布返回码组的方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination