CN113138912B - 一种接口测试方法和系统、客户端和服务端 - Google Patents
一种接口测试方法和系统、客户端和服务端 Download PDFInfo
- Publication number
- CN113138912B CN113138912B CN202010053377.9A CN202010053377A CN113138912B CN 113138912 B CN113138912 B CN 113138912B CN 202010053377 A CN202010053377 A CN 202010053377A CN 113138912 B CN113138912 B CN 113138912B
- Authority
- CN
- China
- Prior art keywords
- identification
- target
- attribute
- interface
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种接口测试方法和系统、客户端和服务端,涉及计算机技术领域。该方法包括:根据用户的第一触发操作,确定目标接口的标识和目标方法的标识;将目标接口的标识和目标方法的标识发送给服务端;展示服务端发送的至少一个测试项;根据用户的第二触发操作,确定至少一个测试项中目标测试项的项值;将目标测试项及其项值发送给服务端;展示服务端发送目标接口的测试结果。该方法能够提高用户体验和测试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种接口测试方法和系统、客户端和服务端。
背景技术
为了保证得到正确的调用结果,在调用接口前,需要对接口进行测试。
现有的方法需要用户在客户端按照JSON(JavaScript Object Notation,JS对象简谱)或XML(Extensible Markup Language,可扩展标记语言)格式编辑参数字符串,服务端根据该参数字符串对接口进行测试。
但是,该方法需要用户了解JSON或XML格式,对用户的要求较高。并且,用户在编辑复杂参数字符串时容易出错,降低测试效率。
发明内容
有鉴于此,本发明实施例提供一种接口测试方法和系统、客户端和服务端,能够降低对用户的要求,提高测试效率。
第一方面,本发明实施例提供了一种接口测试方法,包括:
根据用户的第一触发操作,确定目标接口的标识和目标方法的标识;
将所述目标接口的标识和所述目标方法的标识发送给服务端;
展示所述服务端发送的至少一个测试项;
根据所述用户的第二触发操作,确定所述至少一个测试项中目标测试项的项值;
将所述目标测试项及其项值发送给所述服务端;
展示所述服务端发送的所述目标接口的测试结果。
优选地,
在所述将所述目标测试项及其项值发送给所述服务端之前,进一步包括:
对所述目标测试项的项值进行校验;
如果校验通过,则执行所述将所述目标测试项及其项值发送给所述服务端。
第二方面,本发明实施例提供了一种接口测试方法,包括:
接收客户端发送的目标接口的标识和目标方法的标识;
根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项;其中,所述解析信息由解析软件开发工具包得到;
将所述至少一个测试项发送给所述客户端;
根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试所述目标接口;
将所述目标接口的测试结果反馈给所述客户端。
优选地,
所述解析信息由解析软件开发工具包得到,包括:
解压所述软件开发工具包,得到至少一个文件;
针对每一个所述文件,均执行:
确定所述文件是否为接口文件;
如果所述文件是接口文件,则加载所述接口文件,生成接口的信息;
根据所述接口的信息,确定所述接口对应的至少一个方法;
保存所述接口的标识和所述至少一个方法的标识;其中,所述接口的标识与所述方法的标识相对应;
针对每一个所述方法,均执行:
确定所述方法对应的至少一个参数;
针对每一个所述参数,均执行:
确定所述参数的类型;
如果所述参数的类型属于基本类型,则保存所述参数的信息;
其中,所述参数的信息、所述接口的标识和所述方法的标识相对应;
所述解析信息,包括:所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系;
所述参数的信息,包括:所述参数的标识和所述参数的类型。
优选地,
进一步包括:
如果所述参数的类型属于引用类型,则保存所述参数的类型和所述方法的标识与所述参数的标识的对应关系;
加载所述参数的类文件;
确定所述参数的类文件对应的至少一个属性;
针对每一个所述属性,均执行:
确定所述属性的类型;
如果所述属性的类型属于所述基本类型,则保存所述属性的信息;
其中,所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识相对应;
所述解析信息,进一步包括:所述属性的信息以及所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系;
所述属性的信息,包括:所述属性的标识和所述属性的类型。
优选地,
进一步包括:
如果所述参数的类型属于属性集合,则保存所述参数的类型和所述方法的标识与所述参数的标识的对应关系;
针对所述参数对应的每个属性,均执行:
确定所述属性的类型;
如果所述属性的类型属于所述基本类型,则保存所述属性的信息;
其中,所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识相对应;
所述解析信息,进一步包括:所述属性的信息以及所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系
所述属性的信息,包括:所述属性的标识和所述属性的类型。
优选地,
进一步包括:
如果所述属性的类型属于所述引用类型,则保存所述属性的类型和所述属性的标识与所述参数的标识的对应关系;
加载所述属性的类文件;
确定所述属性的类文件对应的至少一个子属性;
针对每一个所述子属性,均执行:
确定所述子属性的类型;
如果所述子属性的类型属于所述基本类型,则保存所述子属性的信息;
其中,所述子属性的信息与所述属性的信息、所述参数的信息、所述接口的标识和所述方法的标识相对应;
所述解析信息,进一步包括:所述子属性的信息以及所述子属性的信息与所述属性的信息、所述参数的信息、所述接口的标识和所述方法的标识的对应关系;
所述子属性的信息,包括:所述子属性的标识和所述子属性的类型。
优选地,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述基本类型,则展示所述目标参数的标识及其对应的文本框。
优选地,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述引用类型,则展示所述目标参数的标识;
根据所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述目标参数对应的至少一个目标属性;
针对每一个所述目标属性,均执行:
如果所述目标属性的类型属于所述基本类型,则展示所述目标属性的标识及其对应的文本框。
优选地,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述属性集合,则展示所述目标参数的标识;
根据所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述目标参数对应的至少一个目标属性;
针对每一个所述目标属性,均执行:
如果所述目标属性的类型属于所述基本类型,则展示所述目标属性的标识及其对应的文本框。
优选地,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述引用类型,则展示所述目标参数的标识;
根据所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述参数对应的至少一个目标属性;
针对每一个所述目标属性,均执行:
如果所述目标属性的类型属于所述引用类型,则展示所述目标属性的标识;
根据所述子属性的信息与所述属性的信息、所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述目标属性对应的至少一个目标子属性;
针对每一个所述目标子属性,均执行:
如果所述目标子属性的类型属于所述基本类型,则展示所述目标子属性的标识及其对应的文本框。
优选地,
所述根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试目标接口,包括:
根据所述软件开发工具包序列化所述目标测试项及其项值,得到序列化对象;
根据所述目标接口的标识、所述目标方法的标识和所述序列化对象,调用所述目标接口。
第三方面,本发明实施例提供了一种客户端,包括:
确定模块,配置为根据用户的第一触发操作,确定目标接口的标识和目标方法的标识;根据所述用户的第二触发操作,确定至少一个测试项中目标测试项的项值;
发送模块,配置为将所述目标接口的标识和所述目标方法的标识发送给服务端;将所述目标测试项及其项值发送给所述服务端;
展示模块,配置为展示所述服务端发送的至少一个测试项;展示所述服务端发送的所述目标接口的测试结果。
第四方面,本发明实施例提供了一种服务端,包括:
接收模块,配置为接收客户端发送的目标接口的标识和目标方法的标识;
确定模块,配置为根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项;其中,所述解析信息由解析软件开发工具包得到;
发送模块,配置为将所述至少一个测试项发送给所述客户端;
测试模块,配置为根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试目标接口;将所述目标接口的测试结果反馈给所述客户端。
第五方面,本发明实施例提供了一种接口测试系统,包括:上述任一实施例所述的客户端和上述任一实施例所述的服务端。
第六方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
第七方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:根据用户确定的目标接口的标识和目标方法的标识,为用户展示至少一个测试项,用户可以在测试项中选择目标测试项对接口进行相应的测试。在该过程中,用户不需要输入复杂的参数字符串,仅需要确定目标测试项的项值。因此,该方法能够降低对用户的要求,并且提高接口测试效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明的一个实施例提供的一种应用于客户端的接口测试方法的流程图;
图2是本发明的一个实施例提供的一种应用于服务端的接口测试方法的流程图;
图3是本发明的一个实施例提供的一种可视化界面的示意图;
图4是本发明的一个实施例提供的一种应用于接口测试系统的接口测试方法的流程图;
图5是本发明的一个实施例提供的一种客户端的示意图;
图6是本发明的一个实施例提供的一种服务端的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明实施例提供了一种接口测试方法,应用于客户端,包括:
步骤101:根据用户的第一触发操作,确定目标接口的标识和目标方法的标识。
第一触发操作可以为输入或点击等。客户端可以向用户展示可视化界面,用户可以通过可视化界面中的文本框输入目标接口的标识和目标方法的标识。可视化界面中还可以展示可以选择的接口的标识和方法的标识,用户可以通过点击从接口的标识和方法的标识中选择目标接口的标识和目标方法的标识。
在实际应用场景中,可以为一个目标接口的标识确定多个对应的目标方法的标识,还可以确定多个目标接口的标识。例如,确定目标接口的标识1对应的目标方法的标识为A,确定目标接口的标识2对应的目标方法的标识为A和B,确定目标接口的标识3对应的目标方法的标识为C。其中,每一种目标接口的标识和目标方法的标识的组合,均可以按照本发明实施例提供的接口测试方法进行接口测试,例如,上述目标接口的标识和目标方法的标识可以形成的组合包括:(1,A)、(2,A)、(2,B)、(3,C)。以下将以一种目标接口的标识和目标方法的标识的组合为例,对接口测试方法进行说明。
步骤102:将目标接口的标识和目标方法的标识发送给服务端。
服务端根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项;其中,解析信息由服务端解析软件开发工具包得到。服务端的处理过程将在服务端对应的接口测试方法中详细地说明。
步骤103:展示服务端发送的至少一个测试项。
测试项可以是参数的标识,还可以是属性的标识、子属性的标识等。
步骤104:根据用户的第二触发操作,确定至少一个测试项中目标测试项的项值。
第二触发操作与第一触发操作相似,可以为输入,也可以为点击。可视化界面可以展示目标测试项及其对应的文本框,用户可以通过文本框输入目标测试项的项值,例如,输入参数值、属性值等。可视化界面还可以展示目标测试项及其对应的可选择的项值,用户可以通过点击,在可选择的项值中选择一个项值作为目标测试项的项值进行接口测试。
用户选择的目标测试项的数量并不限制,用户可以仅选择一项进行测试,也可以选择多项进行测试。
步骤105:将目标测试项及其项值发送给服务端。
服务端根据目标接口的标识、目标方法的标识、软件开发工具包、目标测试项及其项值,测试目标接口。
被测试的接口可以为HTTP(Hyper Text Transfer Protocol,超文本传输协议)接口、API(Application Programming Interface,应用程序接口)接口、RPC(RemoteProcedure Call,远程过程调用)接口等。
以下将以RPC接口为例进行说明。
步骤106:展示服务端发送的测试结果。
用户可以根据客户端展示的测试结果确定接口的反应是否符合预期,进而确定后续是否可以使用该接口。
该方法根据用户确定的目标接口的标识和目标方法的标识,为用户展示至少一个测试项,用户可以在测试项中选择目标测试项对接口进行相应的测试。在该过程中,用户不需要输入复杂的参数字符串,仅需要确定目标测试项的项值。因此,该方法能够降低对用户的要求,并且提高接口测试效率。
在本发明的一个实施例中,在将目标测试项及其项值发送给服务端之前,该方法还包括:
对目标测试项的项值进行校验;
如果校验通过,则执行将目标测试项及其项值发送给服务端。
具体地,可以根据预先设置的校验规则对目标测试项的项值进行校验。该校验规则可以预先存储在客户端中,还可以由服务端根据目标接口的标识和目标方法的标识反馈给客户端。不同的目标测试项可以对应相同的校验规则,也可以对应不同的校验规则。通过校验规则,可以校验目标测试项的项值是否为空,还可以校验目标测试项的项值是否满足正则表达式。
如果校验不通过,则可以展示校验结果,用户可以根据校验结果的提示重新输入或点击。
校验过程能够对目标测试项的项值的格式进行校验,避免格式错误而引起测试失败,提高测试效率。同时,校验过程在客户端进行,能够降低服务端的压力。
如图2所示,本发明实施例提供了一种接口测试方法,应用于服务端,包括:
步骤201:接收客户端发送的目标接口的标识和目标方法的标识。
目标接口的标识和目标方法的标识由客户端根据用户的第一触发操作确定。
步骤202:根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项;其中,解析信息由解析软件开发工具包得到。
如果被测试的接口为RPC接口,则软件开发工具包为RPC接口的软件开发工具包。软件开发工具包可以由接口开发方上传至服务端。
为了提高接口测试效率,解析信息在进行接口测试之前得到。软件开发工具包与若干接口相对应,解析软件开发工具包后,用户可以对若干接口中的目标接口进行测试,如果用户想要对若干接口之外的接口进行测试则该方法需要对其他的软件开发工具包进行解析。
步骤203:将至少一个测试项发送给客户端。
客户端展示至少一个测试项,根据用户的第二触发操作,确定至少一个测试项中目标测试项的项值。
步骤204:根据目标接口的标识、目标方法的标识、软件开发工具包、客户端发送的目标测试项及其项值,测试目标接口。
步骤205:将测试结果反馈给客户端。
客户端展示测试结果。
该方法可以根据用户确定的目标接口的标识和目标方法的标识,为用户提供可以选择的测试项,并根据用户选择的目标测试项和该目标测试项对应的项值对目标接口进行测试。该方法不需要用户按照一定的格式输入参数字符串,能够拓宽该方法的应用范围,提高接口测试效率。
在本发明的一个实施例中,该方法还包括:接收开发方发送的修改指令,根据修改指令对解析信息进行修改。根据目标接口的标识、目标方法的标识和修改后的解析信息,确定至少一个测试项。例如,开发人员可以通过修改指令对接口的别名、接口的描述等信息进行修改。开发方完成修改后可以向服务端发送提交指令。以提示服务端开发方已完成修改。
在本发明的一个实施例中,解析信息由解析软件开发工具包得到,包括:
解压软件开发工具包,得到至少一个文件;
针对每一个文件,均执行:
确定文件是否为接口文件;
如果文件是接口文件,则加载接口文件,生成接口的信息;
根据接口的信息,确定接口对应的至少一个方法;
保存接口的标识和至少一个方法的标识;其中,接口的标识与方法的标识相对应;
针对每一个方法,均执行:
确定方法对应的至少一个参数;
针对每一个参数,均执行:
确定参数的类型;
如果参数的类型属于基本类型,则保存参数的信息;
其中,参数的信息、接口的标识和方法的标识相对应;
解析信息,包括:接口的标识、方法的标识、参数的信息以及三者的对应关系;
参数的信息,包括:参数的标识和参数的类型。
解压得到一个或多个文件,根据文件的文件名和文件在磁盘中的位置,将文件存储到内存中,从内存中读取文件,并针对每一个文件执行上述操作。如果文件不是接口文件,则不作处理。生成的接口文件的接口的信息、解析信息可以被存储到数据库中。除了上述提到的信息,数据库中还可以存储类信息等其他信息。
在不同的语言中,基本类型存在区别。在Java中,int、char、long都属于基本类型。
在数据库中,接口的信息、方法的信息和参数的信息可以以树结构的形式存储,其中,一个接口对应一个树结构,树结构的第一层级存储接口的信息,第二层级存储与接口的信息对应的方法的信息,第三层级存储与方法的信息和接口的信息对应的参数的信息,方法的标识属于方法的信息。
在本发明的一个实施例中,该方法还包括:
如果参数的类型属于引用类型,则保存参数的类型和方法的标识与参数的标识的对应关系;
加载参数的类文件;
确定参数的类文件对应的至少一个属性;
针对每一个属性,均执行:
确定属性的类型;
如果属性的类型属于基本类型,则保存属性的信息;
其中,属性的信息与参数的信息、接口的标识和方法的标识相对应;
解析信息,进一步包括:属性的信息以及属性的信息与参数的信息、接口的标识和方法的标识的对应关系;
属性的信息,包括:属性的标识和属性的类型。
具体地,从内存中查找出该类文件在磁盘中的路径,根据该路径加载参数的类文件。
将属性的信息存储为上述树结构的第四层级。
在本发明的一个实施例中,该方法还包括:
如果属性的类型属于引用类型,则保存属性的类型和属性的标识与参数的标识的对应关系;
加载属性的类文件;
确定属性的类文件对应的至少一个子属性;
针对每一个子属性,均执行:
确定子属性的类型;
如果子属性的类型属于基本类型,则保存子属性的信息;
其中,子属性的信息与属性的信息、参数的信息、接口的标识和方法的标识相对应;
解析信息,进一步包括:子属性的信息以及子属性的信息与属性的信息、参数的信息、接口的标识和方法的标识的对应关系;
子属性的信息,包括:子属性的标识和子属性的类型。
子属性的信息可以作为上述树结构的第五层级进行存储。
需要说明的是,子属性的类型与参数和属性相似,可以分为基本类型、引用类型和集合类型,其处理过程可以参考属性和参数的处理过程,即如果是引用类型,则进一步确定上一级属性(例如,属性)的类文件对应的下一级属性(例如,子属性),以此类推,如果上一级属性的类文件对应的下一级属性的类型均为基本类型,则终止遍历过程;如果是属性集合,则根据属性集合中的每一个属性的类型进行处理,此处不再赘述。
每一级对应的属性的信息均可以作为树结构的一个层级进行存储,上一级属性的信息位于下一级属性的信息的上一层级。
在本发明的一个实施例中,该方法还包括:
如果参数的类型属于属性集合,则保存参数的类型和方法的标识与参数的标识的对应关系;
针对参数对应的每个属性,均执行:
确定属性的类型;
如果属性的类型属于基本类型,则保存属性的信息;
其中,属性的信息与参数的信息、接口的标识和方法的标识相对应;
解析信息,进一步包括:属性的信息以及属性的信息与参数的信息、接口的标识和方法的标识的对应关系
属性的信息,包括:属性的标识和属性的类型。
本发明实施例中提到的属性的信息也可以存储为上述树结构的第四层级。
通过上述实施例可知,参数的类型包括:基本类型、引用类型和属性集合。属性集合中的每个元素都是一个属性,对属性集合的处理可以视为对多个属性的处理,具体过程可以参考前两个发明实施例,此处不再赘述。
如果参数不是基本类型,则根据参数的类文件逐级遍历,直至上一级属性的类文件对应的下一级属性的类型均为基本类型。
数据库中存储的数据还可以分别按照接口的信息、类信息、方法的信息、参数的信息、属性的信息进行存储。每一种信息可以存储在不同
数据库中存储的接口的信息可以包括如表1所示的数据。
表1
数据 | 说明 |
接口的名称 | 即接口的标识 |
版本号 | |
别名 | 由开发人员维护 |
描述 | 注释说明 |
数据库中存储的类信息可以包括如表2所示的数据。
表2
数据 | 说明 |
类名称 | 即类标识 |
版本号 | |
别名 | 由开发人员维护 |
描述 | 注释说明 |
数据库中存储的方法的信息可以包括如表3所示的数据。
表3
数据 | 说明 |
方法的名称 | 即方法的标识 |
描述说明 | 方法的注释 |
参数个数 | 由开发人员维护 |
所属接口主键 | 通过该接口逐渐可以确定与该方法关联的接口的信息 |
数据库中存储的参数的信息可以包括如表4所示的数据。
表4
数据 | 说明 |
参数的名称 | 即参数的标识 |
参数的类型 | |
参数描述 | 参数的注释 |
参数的默认值 | |
类主键 | 关联类信息 |
方法主键 | 关联方法的信息 |
关联属性主键 | 关联属性的信息 |
数据库中存储的属性的信息可以包括如表5所示的数据。
表5
数据 | 说明 |
属性的名称 | 即属性的标识 |
属性的类型 | |
属性描述 | 属性的注释 |
属性的默认值 | |
类主键 | 关联类信息 |
方法主键 | 关联方法的信息 |
关联属性主键 | 关联属性的信息 |
在实际应用场景中,接口的信息和类信息可以存储在同一个数据表中,此时需要通过标识对两种信息加以区分。参数的信息和属性的信息也可以存储在同一个数据表中,并通过标识进行区分。除了上述表1-表5提到的信息,数据库中还可以存储方法的返回值、校验规则等信息。需要说明的是,解析信息可以存储在不同的数据表中,例如,接口的名称存储在接口的信息表中,参数的名称和参数的类型存储在参数的信息表中。
解析信息存储在数据库中,其存储的形式不同,后续确定测试项的过程可能存在区别。
根据目标参数的类型的不同,确定测试项可以分为以下三种情况:
情况1:目标参数的类型为基本类型。
在本发明的一个实施例中,根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项,包括:
根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;
针对每一个目标参数,均执行:
如果目标参数的类型属于基本类型,则展示目标参数的标识及其对应的文本框。
在本发明实施例中,可以依次遍历树结构的各个接口的信息、方法的信息和参数的信息三个层级,进而确定目标参数。
情况2:目标参数的类型为引用类型。
情况2根据目标属性的类型,又可以进一步分为以下三种情况:
情况A:目标属性的类型为基本类型。
根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项,包括:
根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;
针对每一个目标参数,均执行:
如果目标参数的类型属于引用类型,则展示目标参数的标识;
根据属性的信息与参数的信息、接口的标识和方法的标识的对应关系,确定目标参数对应的至少一个目标属性;
针对每一个目标属性,均执行:
如果目标属性的类型属于基本类型,则展示目标属性的标识及其对应的文本框。
情况B:目标属性的类型为引用类型。
根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项,包括:
根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;
针对每一个目标参数,均执行:
如果目标参数的类型属于引用类型,则展示目标参数的标识;
根据属性的信息与参数的信息、接口的标识和方法的标识的对应关系,确定参数对应的至少一个目标属性;
针对每一个目标属性,均执行:
如果目标属性的类型属于引用类型,则展示目标属性的标识;
根据子属性的信息与属性的信息、参数的信息、接口的标识和方法的标识的对应关系,确定目标属性对应的至少一个目标子属性;
针对每一个目标子属性,均执行:
如果目标子属性的类型属于基本类型,则展示目标子属性的标识及其对应的文本框。
当然,子属性还可以为引用类型或属性集合,后续处理过程可以参考参数和属性的处理,此处不再赘述。
情况C:目标属性的类型为属性集合。
该情况下确定测试项的过程可以参考下述情况3,将参数视为属性即可。
情况3:目标参数的类型为属性集合。
根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项,包括:
根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;
针对每一个目标参数,均执行:
如果目标参数的类型属于属性集合,则展示目标参数的标识;
根据属性的信息与参数的信息、接口的标识和方法的标识的对应关系,确定目标参数对应的至少一个目标属性;
针对每一个目标属性,均执行:
如果目标属性的类型属于基本类型,则展示目标属性的标识及其对应的文本框。
在实际应用场景中,可以在可视化界面中展示添加按钮,用户可以点击该按钮以使可视化界面展示上一级属性的标识对应的下一级属性的标识和文本框,还可以展示参数的标识对应的属性的标识和文本框。当然,用户还可以通过触发操作使客户端隐藏对参数的标识或者属性的标识等信息的显示。
如图3所示,是客户端的一种可视化界面,其中,entityDTO和pin为参数,entityDTO的类型为属性集合,id、code、name、description……path为属性集合中的属性的名称,用户可以在对应的文本框中键入相应的属性值。在属性集合的上方显示有参数的其他信息,包括:id、code、name、description。用户可以通过点击添加标识,使可视化界面展示属性集合中的属性的标识及其对应的文本框。
另外,客户端还可以在该可视化界面中展示目标接口的名称及其对应的文本框、目标方法的名称及其对应的文本框。目标接口的名称及其对应的文本框、目标方法的名称及其对应的文本框还可以展示在另一个可视化界面中。
本发明实施例以可视化界面的形式展示参数的标识、属性的标识等信息,并且,用户还可以通过可视化界面提供的标识按钮与可视化界面进行互动,能够提高用户的体验。
在本发明的一个实施例中,根据目标接口的标识、目标方法的标识、软件开发工具包、客户端发送的目标测试项及其项值,测试目标接口,包括:
根据软件开发工具包序列化目标测试项及其项值,得到序列化对象;
根据目标接口的标识、目标方法的标识和序列化对象,调用目标接口。
本发明实施例提到的软件开发工具包指的是未被解析的工具包,该工具包可以由接口的开发人员上传至服务端。
如图4所示,本发明实施例以客户端与服务端构成的系统为例,对接口测试方法进行详细的描述,该方法包括:
步骤401:客户端根据用户的第一触发操作,确定目标接口的标识和目标方法的标识。
步骤402:客户端将目标接口的标识和目标方法的标识发送给服务端。
步骤403:服务端根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项;其中,解析信息由服务端解析软件开发工具包得到;
步骤404:服务端将至少一个测试项发送给客户端。
步骤405:客户端展示服务端发送的至少一个测试项。
步骤406:客户端根据用户的第二触发操作,确定至少一个测试项中目标测试项的项值。
步骤407:客户端将目标测试项及其项值发送给服务端。
步骤408:服务端根据目标接口的标识、目标方法的标识、软件开发工具包、目标测试项及其项值,测试目标接口。
步骤409:服务端将测试结果反馈给客户端。
步骤410:客户端展示服务端发送的测试结果。
通过该接口测试系统,用户在对接口进行测试时,不需要输入复杂的参数,只需要对参数值进行编辑,能够提高接口测试效率。
如图5所示,本发明实施例提供了一种客户端,包括:
确定模块501,配置为根据用户的第一触发操作,确定目标接口的标识和目标方法的标识;根据用户的第二触发操作,确定至少一个测试项中目标测试项的项值;
发送模块502,配置为将目标接口的标识和目标方法的标识发送给服务端,以使服务端根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项;将目标测试项及其项值发送给服务端,以使服务端根据目标接口的标识、目标方法的标识、软件开发工具包、目标测试项及其项值,测试目标接口;其中,解析信息由服务端解析软件开发工具包得到;
展示模块503,配置为展示服务端发送的至少一个测试项;展示服务端发送的测试结果。
在本发明的一个实施例中,客户端还包括:
校验模块,配置为对目标测试项的项值进行校验;如果校验通过,则执行将目标测试项及其项值发送给服务端。
如图6所示,本发明实施例提供了一种服务端,包括:
接收模块601,配置为接收客户端发送的目标接口的标识和目标方法的标识;目标接口的标识和目标方法的标识由客户端根据用户的第一触发操作确定;
确定模块602,配置为根据目标接口的标识、目标方法的标识和解析信息,确定至少一个测试项;其中,解析信息由解析软件开发工具包得到;
发送模块603,配置为将至少一个测试项发送给客户端,以使客户端展示至少一个测试项,根据用户的第二触发操作,确定至少一个测试项中目标测试项的项值;
测试模块604,配置为根据目标接口的标识、目标方法的标识、软件开发工具包、客户端发送的目标测试项及其项值,测试目标接口;将测试结果反馈给客户端,以使客户端展示测试结果。
在本发明的一个实施例中,确定模块602,配置为解压软件开发工具包,得到至少一个文件;针对每一个文件,均执行:确定文件是否为接口文件;如果文件是接口文件,则加载接口文件,生成接口的信息;根据接口的信息,确定接口对应的至少一个方法;保存接口的标识和至少一个方法的标识;其中,接口的标识与方法的标识相对应;针对每一个方法,均执行:确定方法对应的至少一个参数;针对每一个参数,均执行:确定参数的类型;如果参数的类型属于基本类型,则保存参数的信息;其中,参数的信息、接口的标识和方法的标识相对应;解析信息,包括:接口的标识、方法的标识、参数的信息以及三者的对应关系;参数的信息,包括:参数的标识和参数的类型。
在本发明的一个实施例中,确定模块602,配置为如果参数的类型属于引用类型,则保存参数的类型和方法的标识与参数的标识的对应关系;加载参数的类文件;确定参数的类文件对应的至少一个属性;针对每一个属性,均执行:确定属性的类型;如果属性的类型属于基本类型,则保存属性的信息;其中,属性的信息与参数的信息、接口的标识和方法的标识相对应;解析信息,进一步包括:属性的信息以及属性的信息与参数的信息、接口的标识和方法的标识的对应关系;属性的信息,包括:属性的标识和属性的类型。
在本发明的一个实施例中,确定模块602,配置为如果参数的类型属于属性集合,则保存参数的类型和方法的标识与参数的标识的对应关系;针对参数对应的每个属性,均执行:确定属性的类型;如果属性的类型属于基本类型,则保存属性的信息;其中,属性的信息与参数的信息、接口的标识和方法的标识相对应;解析信息,进一步包括:属性的信息以及属性的信息与参数的信息、接口的标识和方法的标识的对应关系;属性的信息,包括:属性的标识和属性的类型。
在本发明的一个实施例中,确定模块602,配置为如果属性的类型属于引用类型,则保存属性的类型和属性的标识与参数的标识的对应关系;加载属性的类文件;确定属性的类文件对应的至少一个子属性;针对每一个子属性,均执行:确定子属性的类型;如果子属性的类型属于基本类型,则保存子属性的信息;其中,子属性的信息与属性的信息、参数的信息、接口的标识和方法的标识相对应;解析信息,进一步包括:子属性的信息以及子属性的信息与属性的信息、参数的信息、接口的标识和方法的标识的对应关系;子属性的信息,包括:子属性的标识和子属性的类型。
在本发明的一个实施例中,确定模块602,配置为根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;针对每一个目标参数,均执行:如果目标参数的类型属于基本类型,则展示目标参数的标识及其对应的文本框。
在本发明的一个实施例中,确定模块602,配置为根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;针对每一个目标参数,均执行:如果目标参数的类型属于引用类型,则展示目标参数的标识;根据属性的信息与参数的信息、接口的标识和方法的标识的对应关系,确定目标参数对应的至少一个目标属性;针对每一个目标属性,均执行:如果目标属性的类型属于基本类型,则展示目标属性的标识及其对应的文本框。
在本发明的一个实施例中,确定模块602,配置为根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;针对每一个目标参数,均执行:如果目标参数的类型属于属性集合,则展示目标参数的标识;根据属性的信息与参数的信息、接口的标识和方法的标识的对应关系,确定目标参数对应的至少一个目标属性;针对每一个目标属性,均执行:如果目标属性的类型属于基本类型,则展示目标属性的标识及其对应的文本框。
在本发明的一个实施例中,确定模块602,配置为根据接口的标识、方法的标识、参数的信息以及三者的对应关系,确定与目标接口的标识和目标方法的标识对应的至少一个目标参数;针对每一个目标参数,均执行:如果目标参数的类型属于引用类型,则展示目标参数的标识;根据属性的信息与参数的信息、接口的标识和方法的标识的对应关系,确定参数对应的至少一个目标属性;针对每一个目标属性,均执行:如果目标属性的类型属于引用类型,则展示目标属性的标识;根据子属性的信息与属性的信息、参数的信息、接口的标识和方法的标识的对应关系,确定目标属性对应的至少一个目标子属性;针对每一个目标子属性,均执行:如果目标子属性的类型属于基本类型,则展示目标子属性的标识及其对应的文本框。
在本发明的一个实施例中,测试模块604,配置为根据软件开发工具包序列化目标测试项及其项值,得到序列化对象;根据目标接口的标识、目标方法的标识和序列化对象,调用目标接口。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任一实施例的方法。
图7示出了可以应用本发明实施例的接口测试方法或客户端或服务端的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的接口测试方法可以由服务器705执行,相应地,服务端可以设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
根据用户的第一触发操作,确定目标接口的标识和目标方法的标识;
将所述目标接口的标识和所述目标方法的标识发送给服务端,以使所述服务端根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项;其中,所述解析信息由所述服务端解析软件开发工具包得到;
展示所述服务端发送的所述至少一个测试项;
根据所述用户的第二触发操作,确定所述至少一个测试项中目标测试项的项值;
将所述目标测试项及其项值发送给所述服务端,以使所述服务端根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述目标测试项及其项值,测试所述目标接口;
展示所述服务端发送的测试结果。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收客户端发送的目标接口的标识和目标方法的标识;所述目标接口的标识和所述目标方法的标识由所述客户端根据用户的第一触发操作确定;
根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项;其中,所述解析信息由解析软件开发工具包得到;
将所述至少一个测试项发送给所述客户端,以使所述客户端展示所述至少一个测试项,根据所述用户的第二触发操作,确定所述至少一个测试项中目标测试项的项值;
根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试目标接口;
将测试结果反馈给所述客户端,以使所述客户端展示所述测试结果。
根据本发明实施例的技术方案,用户不需要输入复杂的参数字符串,仅需要确定目标测试项的项值。因此,该方法能够降低对用户的要求,并且提高接口测试效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种接口测试方法,其特征在于,包括:
接收客户端发送的目标接口的标识和目标方法的标识;
根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项;其中,所述解析信息由解析软件开发工具包得到;
所述解析信息由解析软件开发工具包得到,包括:
解压所述软件开发工具包,得到至少一个文件;
针对每一个所述文件,均执行:确定所述文件是否为接口文件;如果所述文件是接口文件,则加载所述接口文件,生成接口的信息;
根据所述接口的信息,确定所述接口对应的至少一个方法;保存所述接口的标识和所述至少一个方法的标识;其中,所述接口的标识与所述方法的标识相对应;
针对每一个所述方法,均执行:确定所述方法对应的至少一个参数;针对每一个所述参数,均执行:确定所述参数的类型;如果所述参数的类型属于基本类型,则保存所述参数的信息;其中,所述参数的信息、所述接口的标识和所述方法的标识相对应;
如果所述参数的类型属于引用类型,则保存所述参数的类型和所述方法的标识与所述参数的标识的对应关系;加载所述参数的类文件;确定所述参数的类文件对应的至少一个第一属性;针对每一个所述第一属性,均执行:确定所述第一属性的类型;如果所述第一属性的类型属于所述基本类型,则保存所述第一属性的信息;其中,所述第一属性的信息与所述参数的信息、所述接口的标识和所述方法的标识相对应;
如果所述参数的类型属于属性集合,则保存所述参数的类型和所述方法的标识与所述参数的标识的对应关系;针对所述参数对应的每个第二属性,均执行:确定所述第二属性的类型;如果所述第二属性的类型属于所述基本类型,则保存所述属性的信息;其中,所述第二属性的信息与所述参数的信息、所述接口的标识和所述方法的标识相对应;
将所述至少一个测试项发送给所述客户端;
根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试所述目标接口;
将所述目标接口的测试结果反馈给所述客户端。
2.如权利要求1所述的方法,其特征在于,
所述解析信息,包括:所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系;
所述参数的信息,包括:所述参数的标识和所述参数的类型。
3.如权利要求2所述的方法,其特征在于,进一步包括:
所述解析信息,进一步包括:所述第一属性的信息以及所述第一属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系;
所述第一属性的信息,包括:所述第一属性的标识和所述属性的类型。
4.如权利要求2所述的方法,其特征在于,进一步包括:
所述解析信息,进一步包括:所述第二属性的信息以及所述第二属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系;
所述第二属性的信息,包括:所述第二属性的标识和所述第二属性的类型。
5.如权利要求3所述的方法,其特征在于,进一步包括:
如果所述属性的类型属于所述引用类型,则保存所述属性的类型和所述属性的标识与所述参数的标识的对应关系加载所述属性的类文件;
确定所述属性的类文件对应的至少一个子属性;
针对每一个所述子属性,均执行:
确定所述子属性的类型;
如果所述子属性的类型属于所述基本类型,则保存所述子属性的信息;
其中,所述子属性的信息与所述属性的信息、所述参数的信息、所述接口的标识和所述方法的标识相对应;
所述解析信息,进一步包括:所述子属性的信息以及所述子属性的信息与所述属性的信息、所述参数的信息、所述接口的标识和所述方法的标识的对应关系;
所述子属性的信息,包括:所述子属性的标识和所述子属性的类型。
6.如权利要求2所述的方法,其特征在于,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述基本类型,则展示所述目标参数的标识及其对应的文本框。
7.如权利要求3所述的方法,其特征在于,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述引用类型,则展示所述目标参数的标识;
根据所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述目标参数对应的至少一个目标属性;
针对每一个所述目标属性,均执行:
如果所述目标属性的类型属于所述基本类型,则展示所述目标属性的标识及其对应的文本框。
8.如权利要求4所述的方法,其特征在于,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述属性集合,则展示所述目标参数的标识;
根据所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述目标参数对应的至少一个目标属性;
针对每一个所述目标属性,均执行:
如果所述目标属性的类型属于所述基本类型,则展示所述目标属性的标识及其对应的文本框。
9.如权利要求5所述的方法,其特征在于,
所述根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项,包括:
根据所述接口的标识、所述方法的标识、所述参数的信息以及三者的对应关系,确定与所述目标接口的标识和所述目标方法的标识对应的至少一个目标参数;
针对每一个所述目标参数,均执行:
如果所述目标参数的类型属于所述引用类型,则展示所述目标参数的标识;
根据所述属性的信息与所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述参数对应的至少一个目标属性;
针对每一个所述目标属性,均执行:
如果所述目标属性的类型属于所述引用类型,则展示所述目标属性的标识;
根据所述子属性的信息与所述属性的信息、所述参数的信息、所述接口的标识和所述方法的标识的对应关系,确定所述目标属性对应的至少一个目标子属性;
针对每一个所述目标子属性,均执行:
如果所述目标子属性的类型属于所述基本类型,则展示所述目标子属性的标识及其对应的文本框。
10.如权利要求1所述的方法,其特征在于,
所述根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试目标接口,包括:
根据所述软件开发工具包序列化所述目标测试项及其项值,得到序列化对象;
根据所述目标接口的标识、所述目标方法的标识和所述序列化对象,调用所述目标接口。
11.一种服务端,其特征在于,包括:
接收模块,配置为接收客户端发送的目标接口的标识和目标方法的标识;
确定模块,配置为根据所述目标接口的标识、所述目标方法的标识和解析信息,确定至少一个测试项;其中,所述解析信息由解析软件开发工具包得到;包括:
解压所述软件开发工具包,得到至少一个文件;
针对每一个所述文件,均执行:确定所述文件是否为接口文件;如果所述文件是接口文件,则加载所述接口文件,生成接口的信息;
根据所述接口的信息,确定所述接口对应的至少一个方法;保存所述接口的标识和所述至少一个方法的标识;其中,所述接口的标识与所述方法的标识相对应;
针对每一个所述方法,均执行:确定所述方法对应的至少一个参数;针对每一个所述参数,均执行:确定所述参数的类型;如果所述参数的类型属于基本类型,则保存所述参数的信息;其中,所述参数的信息、所述接口的标识和所述方法的标识相对应;
如果所述参数的类型属于引用类型,则保存所述参数的类型和所述方法的标识与所述参数的标识的对应关系;加载所述参数的类文件;确定所述参数的类文件对应的至少一个第一属性;针对每一个所述第一属性,均执行:确定所述第一属性的类型;如果所述第一属性的类型属于所述基本类型,则保存所述第一属性的信息;其中,所述第一属性的信息与所述参数的信息、所述接口的标识和所述方法的标识相对应;
如果所述参数的类型属于属性集合,则保存所述参数的类型和所述方法的标识与所述参数的标识的对应关系;针对所述参数对应的每个第二属性,均执行:确定所述第二属性的类型;如果所述第二属性的类型属于所述基本类型,则保存所述属性的信息;其中,所述第二属性的信息与所述参数的信息、所述接口的标识和所述方法的标识相对应;
发送模块,配置为将所述至少一个测试项发送给所述客户端;
测试模块,配置为根据所述目标接口的标识、所述目标方法的标识、所述软件开发工具包、所述客户端发送的目标测试项及其项值,测试目标接口;将所述目标接口的测试结果反馈给所述客户端。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010053377.9A CN113138912B (zh) | 2020-01-17 | 2020-01-17 | 一种接口测试方法和系统、客户端和服务端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010053377.9A CN113138912B (zh) | 2020-01-17 | 2020-01-17 | 一种接口测试方法和系统、客户端和服务端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113138912A CN113138912A (zh) | 2021-07-20 |
CN113138912B true CN113138912B (zh) | 2023-09-22 |
Family
ID=76809613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010053377.9A Active CN113138912B (zh) | 2020-01-17 | 2020-01-17 | 一种接口测试方法和系统、客户端和服务端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113138912B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576843A (zh) * | 2008-05-07 | 2009-11-11 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法和装置 |
CN107908541A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN109656817A (zh) * | 2018-12-04 | 2019-04-19 | 北京马上慧科技术有限公司 | 一种自动化接口测试装置和设备 |
CN109684188A (zh) * | 2017-10-19 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
-
2020
- 2020-01-17 CN CN202010053377.9A patent/CN113138912B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576843A (zh) * | 2008-05-07 | 2009-11-11 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法和装置 |
CN107908541A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN109684188A (zh) * | 2017-10-19 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109656817A (zh) * | 2018-12-04 | 2019-04-19 | 北京马上慧科技术有限公司 | 一种自动化接口测试装置和设备 |
Non-Patent Citations (1)
Title |
---|
卓欣欣 ; 白晓颖 ; 许静 ; 李恩鹏 ; 刘喻 ; 康介恢 ; 宋文莉 ; .服务接口测试自动化工具的研究.计算机研究与发展.2018,(第02期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113138912A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574604B (zh) | 测试方法和装置 | |
US8601438B2 (en) | Data transformation based on a technical design document | |
CN107273297B (zh) | 用于生成测试用例的方法和装置 | |
US11079909B2 (en) | Macro building tool with an information pane and a macro building pane for compiling an ordered macro and determining data dependency | |
CN109684188B (zh) | 测试方法和装置 | |
CN110020358B (zh) | 用于生成动态页面的方法和装置 | |
CN114981775B (zh) | 用于api综合管理的基于云的api元数据管理方法及系统 | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN111125064B (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
CN109815107A (zh) | 自动化测试的方法和装置 | |
US20200356469A1 (en) | Test automation systems and methods using logical identifiers | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN110780874A (zh) | 用于生成信息的方法和装置 | |
CN112765102B (zh) | 一种文件系统管理方法和装置 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN112559024A (zh) | 一种生成交易码变更列表的方法和装置 | |
CN113138912B (zh) | 一种接口测试方法和系统、客户端和服务端 | |
CN116362216A (zh) | 表单数据处理的方法、装置、电子设备和存储介质 | |
CN112052152A (zh) | 一种模拟测试的方法和装置 | |
CN115454956A (zh) | 日志生成方法、装置、电子设备及存储介质 | |
CN109889402B (zh) | 用于生成信息的方法和装置 | |
CN117009430A (zh) | 数据管理方法、装置和存储介质及电子设备 | |
US8200713B2 (en) | Database exploration for building wireless component applications | |
CN113342450A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |