CN112988589A - 一种接口测试方法、装置和*** - Google Patents

一种接口测试方法、装置和*** Download PDF

Info

Publication number
CN112988589A
CN112988589A CN202110328035.8A CN202110328035A CN112988589A CN 112988589 A CN112988589 A CN 112988589A CN 202110328035 A CN202110328035 A CN 202110328035A CN 112988589 A CN112988589 A CN 112988589A
Authority
CN
China
Prior art keywords
test
request
test request
concurrent
client
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
CN202110328035.8A
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 Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110328035.8A priority Critical patent/CN112988589A/zh
Publication of CN112988589A publication Critical patent/CN112988589A/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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种接口测试方法、装置和***,涉及软件测试技术领域,客户端可以接收用户输入的测试指令;生成携带有并发测试标识的第一测试请求;其中,并发测试标识表示测试指令所指示的并发测试次数;向工具服务器发送第一测试请求;工具服务器可以开启并发测试标识所表示的并发测试次数个线程;通过每一线程分别向第一测试请求对应的接口服务器发送第二测试请求;其中,第二测试请求为基于所述第一测试请求得到的;当接收到接口服务器返回的针对第二测试请求的测试响应时,向客户端发送基于测试响应得到的测试结果;客户端则可以获取测试结果。如此,能够降低人工成本,提高测试的效率。

Description

一种接口测试方法、装置和***
技术领域
本申请涉及软件测试技术领域,特别是涉及一种接口测试方法、装置和***。
背景技术
随着网络技术的快速发展,越来越多的软件应用于用户的生活、工作和娱乐等各方面。而随着软件的业务的不断发展,使得软件也需要不断地迭代更新,因此,为了保证能够为用户提供稳定可靠的服务,对于软件的接口测试的需求变得极为重要。
相关技术中,测试人员可以使用接口测试工具对待测软件进行测试。例如,通过接口测试工具可以向待测软件对应的接口服务器发送测试请求,进而,可以获取接口服务器返回的针对测试请求的测试响应,得到测试结果。
然而,如果要实现并发测试,则需要测试人员自己编写并发测试的代码,会增大人工成本,降低测试的效率。
发明内容
本申请实施例的目的在于提供一种接口测试方法、装置和***,能够降低人工成本,提高测试的效率。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种接口测试方法,所述方法应用于工具服务器,所述方法包括:
接收客户端发送的第一测试请求;
如果所述第一测试请求中携带有并发测试标识,开启所述并发测试标识所表示的并发测试次数个线程;
通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;
当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果。
可选的,在所述通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求之前,所述方法还包括:
判断所述第一测试请求中是否携带有压缩标识;
如果所述第一测试请求中携带有压缩标识,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
可选的,所述向所述客户端发送基于所述测试响应得到的测试结果,包括:
将基于所述测试响应得到的测试结果转换为JSON格式,并向所述客户端发送转换后测试结果。
可选的,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
第二方面,为了达到上述目的,本申请实施例公开了一种接口测试方法,所述方法应用于客户端,所述方法包括:
接收用户输入的测试指令;
生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;
向工具服务器发送所述第一测试请求,以使所述工具服务器开启所述并发测试标识所表示的并发测试次数个线程,通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求,其中,所述第二测试请求为基于所述第一测试请求得到的,当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
获取所述测试结果。
可选的,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
可选的,在所述生成携带有并发测试标识的第一测试请求之前,所述方法还包括:
判断所述测试指令是否指示对请求体进行压缩;
所述生成携带有并发测试标识的第一测试请求,包括:
在所述测试指令指示对请求体进行压缩的情况下,生成携带有并发测试标识和压缩标识的第一测试请求,以使所述工具服务器在接收到所述第一测试请求后,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
第三方面,为了达到上述目的,本申请实施例公开了一种接口测试***,所述接口测试***包括工具服务器和客户端,其中:
所述客户端,用于接收用户输入的测试指令;生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;向所述工具服务器发送所述第一测试请求;
所述工具服务器,用于开启所述并发测试标识所表示的并发测试次数个线程;通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
所述客户端,还用于获取所述测试结果。
第四方面,为了达到上述目的,本申请实施例公开了一种接口测试装置,所述装置应用于工具服务器,所述装置包括:
第一测试请求接收模块,用于接收客户端发送的第一测试请求;
线程开启模块,用于如果所述第一测试请求中携带有并发测试标识,开启所述并发测试标识所表示的并发测试次数个线程;
第二测试请求发送模块,用于通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;
测试结果发送模块,用于当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果。
可选的,所述装置还包括:
判断模块,用于在所述通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求之前,判断所述第一测试请求中是否携带有压缩标识;
压缩模块,用于如果所述第一测试请求中携带有压缩标识,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
可选的,所述测试结果发送模块,具体用于将基于所述测试响应得到的测试结果转换为JSON格式,并向所述客户端发送转换后测试结果。
可选的,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
第五方面,为了达到上述目的,本申请实施例公开了一种接口测试装置,所述装置应用于客户端,所述装置包括:
测试指令接收模块,用于接收用户输入的测试指令;
第一测试请求生成模块,用于生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;
第一测试请求发送模块,用于向工具服务器发送所述第一测试请求,以使所述工具服务器开启所述并发测试标识所表示的并发测试次数个线程,通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求,其中,所述第二测试请求为基于所述第一测试请求得到的,当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
测试结果获取模块,用于获取所述测试结果。
可选的,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
可选的,所述装置还包括:
判断模块,用于在所述生成携带有并发测试标识的第一测试请求之前,判断所述测试指令是否指示对请求体进行压缩;
所述第一测试请求生成模块,具体用于在所述测试指令指示对请求体进行压缩的情况下,生成携带有并发测试标识和压缩标识的第一测试请求,以使所述工具服务器在接收到所述第一测试请求后,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
在本申请实施的另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面或第二方面所述的接口测试方法。
在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面或第二方面所述的接口测试方法。
在本申请实施的又一方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的接口测试方法。
本申请实施例提供了一种接口测试方法,客户端可以接收用户输入的测试指令;生成携带有并发测试标识的第一测试请求;其中,并发测试标识表示测试指令所指示的并发测试次数;向工具服务器发送第一测试请求;工具服务器可以开启并发测试标识所表示的并发测试次数个线程;通过每一线程分别向第一测试请求对应的接口服务器发送第二测试请求;其中,第二测试请求为基于所述第一测试请求得到的;当接收到接口服务器返回的针对第二测试请求的测试响应时,向客户端发送基于测试响应得到的测试结果;客户端则可以获取测试结果。
基于上述处理,测试人员不需要自己编写代码,只需要向客户端输入相应的测试指令,就可以实现并发测试,进而,能够降低人工成本,提高测试的效率访问的应用子***。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种组网的架构图;
图2为本申请实施例提供的一种接口测试方法的流程图;
图3为本申请实施例提供的另一种接口测试方法的流程图;
图4为本申请实施例提供的另一种接口测试方法的流程图;
图5为本申请实施例提供的另一种接口测试方法的流程图;
图6为本申请实施例提供的一种测试页面的示意图;
图7为本申请实施例提供的一种接口测试装置的结构图;
图8为本申请实施例提供的另一种接口测试装置的结构图;
图9为本申请实施例提供的一种电子设备的结构图;
图10为本申请实施例提供的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,如果要实现并发测试,则需要测试人员自己编写并发测试的代码,会增大人工成本,降低测试的效率。
为了解决上述问题,本申请实施例提供了一种接口测试***,参见图1,图1为本申请实施例提供的一种组网的架构图,该组网可以包括接口测试***101、接口服务器102、接口服务器103和接口服务器104;接口测试***101可以包括工具服务器1011和客户端1012。
工具服务器1011可以与多个接口服务器进行通信,本申请实施例中仅以三个接口服务器为例进行说明,但并不限于此。
客户端1012可以接收用户输入的测试指令,然后,生成携带有并发测试标识的第一测试请求。其中,并发测试标识表示测试指令所指示的并发测试次数。进而,客户端1012可以向工具服务器1011发送第一测试请求。
工具服务器1011在接收到第一测试请求后,可以开启并发测试标识所表示的并发测试次数个线程,进而,通过每一线程分别向第一测试请求对应的接口服务器(例如,为接口服务器102)发送第二测试请求。其中,第二测试请求为基于第一测试请求得到的。相应的,当接收到接口服务器102返回的针对第二测试请求的测试响应时,工具服务器1011可以向客户端1012发送基于测试响应得到的测试结果。
客户端1012则可以获取到测试结果。
基于上述处理,测试人员不需要自己编写代码,只需要向客户端1012输入相应的测试指令,就可以实现并发测试,进而,能够降低人工成本,提高测试的效率。
关于上述接口测试***中的工具服务器和客户端的处理方法,可以参考后续实施例中关于工具服务器和客户端的方法实施例的详细介绍。
参见图2,图2为本申请实施例提供的一种接口测试方法的流程图,该方法可以应用于工具服务器,该工具服务器可以为上述实施例接口测试***中的工具服务器,该方法可以包括以下步骤:
S201:接收客户端发送的第一测试请求。
S202:如果第一测试请求中携带有并发测试标识,开启并发测试标识所表示的并发测试次数个线程。
S203:通过每一线程分别向第一测试请求对应的接口服务器发送第二测试请求。
其中,第二测试请求为基于第一测试请求得到的。
S204:当接收到接口服务器返回的针对第二测试请求的测试响应时,向客户端发送基于测试响应得到的测试结果。
本申请实施例提供的接口测试方法,使得测试人员不需要自己编写代码,只需要向客户端输入相应的测试指令,就可以实现并发测试,进而,能够降低人工成本,提高测试的效率。
在一个实施例中,工具服务器可以部署在云端,即,采用云计算环境下的云服务器作为工具服务器。
针对步骤S201,第一测试请求可以是客户端基于测试人员的测试指令生成的。可以理解的是,第一测试请求中可以携带有测试方法、待测接口的地址(包括接口服务器的IP地址、端口号),以及对应的参数。
测试方法可以包括:POST(向指定的资源提交要被处理的数据)、GET(从指定的资源请求数据)、PUT(向指定资源位置上传最新数据)或者DELETE(请求删除资源)等。
例如,第一测试请求需要删除一个云服务器,则参数可以包含需要删除的云服务器的标识。
针对步骤S202,如果第一测试请求中携带有并发测试标识,表明测试人员需要基于第一测试请求对对应的接口服务器进行并发测试。并发测试次数是根据测试人员的需要设置的,例如,并发测试次数可以为5次,或者,并发测试次数可以为10次,但并不限于此。
在一个实施例中,可以利用第一测试请求中的指定字段表示并发测试标识或者非并发测试标识。例如,若该指定字段的值为A,则表示非并发测试标识;若该指定字段的值为B,则表示并发测试标识,此时,B可以为并发测试次数。
或者,若第一测试请求为并发测试请求,则第一测试请求可以包含该指定字段;若第一测试请求为非并发测试请求,则第一测试请求可以不包含该指定字段。
针对步骤S203,可以直接将第一测试请求确定为第二测试请求,也就是说,工具服务器可以直接向接口服务器转发第一测试请求。
在一个实施例中,工具服务器可以包含Multiprocess(多进程)模块,和/或Threading(多线程)模块,以基于Multiprocess模块,或者,Threading模块开启多个线程。
接口服务器为提供业务的服务器,例如,可以为广告业务服务器、用户中心业务服务器、资产业务服务器、订单业务服务器等。
在一个实施例中,参见图3,在图2的基础上,在步骤S203之前,该方法还可以包括以下步骤:
S205:判断第一测试请求中是否携带有压缩标识。
S206:如果第一测试请求中携带有压缩标识,基于预设的压缩算法对第一测试请求的请求体进行压缩,得到第二测试请求。
一种实现方式中,若第一测试请求为POST请求,则第一测试请求可以包含有请求体。例如,第一测试请求为需要上传日志文件的POST请求,则第一测试请求的请求体可以为需要上传的日志文件。
在本申请实施例中,测试人员还可以在客户端中选择是否对第一测试请求的请求体(body)进行压缩。
若测试人员选择对第一测试请求的请求体进行压缩,则客户端生成的第一测试请求中可以携带有压缩标识,相应的,工具服务器在接收到第一测试请求后,确定其中携带有压缩标识,则可以基于预设的压缩算法对第一测试请求的请求体进行压缩,得到压缩后的第一测试请求(即第二测试请求)。
示例性地,工具服务器可以将请求体压缩为gzip格式,或者,也可以将请求体压缩为TAR格式,但并不限于此。
基于上述处理,可以对第一测试请求的请求体进行压缩,能够提高数据传输的可靠性,减少传输的数据量,进一步提高测试的效率,
在一个实施例中,测试结果可以包括以下至少一项:测试响应、表示接口服务器是否成功响应第二测试请求的标识、接口服务器响应第二测试请求的时长。
在本申请实施例中,工具服务器可以获取接口服务器返回的测试响应,进而,可以根据接收到测试响应的时间以及发送第二测试请求的时间,确定接口服务器响应第二测试请求的时长。
另外,工具服务器还可以判断接口服务器是否在指定时长内,返回预期的测试响应,如果是,则可以确定接口服务器成功响应第二测试请求;否则,可以确定接口服务器未成功响应第二测试请求。
在一个实施例中,上述步骤S204可以包括以下步骤:将基于测试响应得到的测试结果转换为JSON格式,并向客户端发送转换后测试结果。
在本申请实施例中,工具服务器可以将测试结果转换为JSON格式,由于JSON格式的数据易于用户阅读和编写,同时也易于机器解析和生成,因此,能够提高客户端解析测试结果,并显示测试结果的效率,提高用户体验。
本申请实施例提供的工具服务器可以为基于python语言开发的,当然,并不限于此。
基于相同的构思,本申请实施例还提供了一种接口测试方法,方法可以应用于客户端,该客户端可以为上述实施例接口测试***中的客户端,参见图4,该方法可以包括以下步骤
S401:接收用户输入的测试指令。
S402:生成携带有并发测试标识的第一测试请求。
其中,并发测试标识表示测试指令所指示的并发测试次数。
S403:向工具服务器发送第一测试请求,以使工具服务器开启并发测试标识所表示的并发测试次数个线程,通过每一线程分别向第一测试请求对应的接口服务器发送第二测试请求,当接收到接口服务器返回的针对第二测试请求的测试响应时,向客户端发送基于测试响应得到的测试结果。
其中,第二测试请求为基于第一测试请求得到的。
S404:获取测试结果。
本申请实施例提供的接口测试方法,使得测试人员不需要自己编写代码,只需要向客户端输入相应的测试指令,就可以实现并发测试,进而,能够降低人工成本,提高测试的效率。
在一个实施例中,该客户端可以为浏览器端,也就是说,该接口测试***可以是基于B/S(Browser(浏览器)/Server(服务器))架构实现。
一种实现方式中,客户端可以显示测试页面,测试人员可以在该测试页面中输入测试方法、待测接口的地址,以及对应的参数等信息,相应的,客户端可以生成对应的测试请求。
另外,该测试页面中可以设置有并发测试选项,基于该并发测试选项,测试人员可以选择并发测试次数,相应的,客户端则可以生成对应的携带有并发测试标识的测试请求,并向工具服务器发送生成的测试请求,相应的,工具服务器开启并发测试标识所表示的并发测试次数个线程,并通过每一线程分别向第一测试请求对应的接口服务器发送第二测试请求,进而,当接收到接口服务器返回的针对第二测试请求的测试响应时,工具服务器可以向客户端发送基于测试响应得到的测试结果,工具服务器的处理方式可以参考上述实施例的相关介绍。
在一个实施例中,测试结果可以包括以下至少一项:测试响应、表示接口服务器是否成功响应第二测试请求的标识、接口服务器响应第二测试请求的时长。
在一个实施例中,在接收到测试结果后,客户端还可以在测试页面中显示测试结果。
在一个实施例中,参见图5,在图4的基础上,在步骤S402之前,该方法还可以包括以下步骤:
S405:判断测试指令是否指示对请求体进行压缩。
相应的,S402可以包括:
S4021:在测试指令指示对请求体进行压缩的情况下,生成携带有并发测试标识和压缩标识的第一测试请求,以使工具服务器在接收到第一测试请求后,基于预设的压缩算法对第一测试请求的请求体进行压缩,得到第二测试请求。
一种实现方式中,测试人员还可以在测试页面中选择是否对请求体进行压缩。若测试人员选择对请求体进行压缩,则客户端可以生成携带有压缩标识的测试请求,并向工具服务器发送,相应的,工具服务器则可以对请求体进行压缩。
本申请实施例提供的客户端可以为基于Django框架开发的,当然,并不限于此。
参见图6,图6为本申请实施例提供的一种测试页面的示意图。
测试人员可以点击“选择文件”按钮,以选择需要上述的数据,例如,选择需要上述的日志文件。
在“Request(请求)”显示框内,可以选择测试方法,并添加参数。
在“Edit Message(编辑信息)”显示框内可以输入需要上传的数据。
Send 1times表示并发测试次数为1次,Send 5times表示并发测试次数为5次,Send 10times表示并发测试次数为10次,测试人员可以基于需求选择相应的次数。
在“Response(响应)”显示框内可以显示测试结果。
基于相同的发明构思,本申请实施例还提供了一种接口测试装置,参见图7,图7为本申请实施例提供的一种接口测试装置的结构图,所述装置应用于工具服务器,所述装置包括:
第一测试请求接收模块701,用于接收客户端发送的第一测试请求;
线程开启模块702,用于如果所述第一测试请求中携带有并发测试标识,开启所述并发测试标识所表示的并发测试次数个线程;
第二测试请求发送模块703,用于通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;
测试结果发送模块704,用于当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果。
可选的,所述装置还包括:
判断模块,用于在所述通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求之前,判断所述第一测试请求中是否携带有压缩标识;
压缩模块,用于如果所述第一测试请求中携带有压缩标识,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
可选的,所述测试结果发送模块704,具体用于将基于所述测试响应得到的测试结果转换为JSON格式,并向所述客户端发送转换后测试结果。
可选的,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
基于相同的发明构思,本申请实施例还提供了一种接口测试装置,参见图8,图8为本申请实施例提供的一种接口测试装置的结构图,所述装置应用于客户端,所述装置包括:
测试指令接收模块801,用于接收用户输入的测试指令;
第一测试请求生成模块802,用于生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;
第一测试请求发送模块803,用于向工具服务器发送所述第一测试请求,以使所述工具服务器开启所述并发测试标识所表示的并发测试次数个线程,通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求,其中,所述第二测试请求为基于所述第一测试请求得到的,当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
测试结果获取模块804,用于获取所述测试结果。
可选的,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
可选的,所述装置还包括:
判断模块,用于在所述生成携带有并发测试标识的第一测试请求之前,判断所述测试指令是否指示对请求体进行压缩;
所述第一测试请求生成模块802,具体用于在所述测试指令指示对请求体进行压缩的情况下,生成携带有并发测试标识和压缩标识的第一测试请求,以使所述工具服务器在接收到所述第一测试请求后,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
本申请实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
接收客户端发送的第一测试请求;
如果所述第一测试请求中携带有并发测试标识,开启所述并发测试标识所表示的并发测试次数个线程;
通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;
当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果。
本申请实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
接收用户输入的测试指令;
生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;
向工具服务器发送所述第一测试请求,以使所述工具服务器开启所述并发测试标识所表示的并发测试次数个线程,通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求,其中,所述第二测试请求为基于所述第一测试请求得到的,当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
获取所述测试结果。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的接口测试方法。
需要说明的是,上述接口测试方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了另一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的接口测试方法。
需要说明的是,上述接口测试方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、***、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (17)

1.一种接口测试方法,其特征在于,所述方法应用于工具服务器,所述方法包括:
接收客户端发送的第一测试请求;
如果所述第一测试请求中携带有并发测试标识,开启所述并发测试标识所表示的并发测试次数个线程;
通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;
当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果。
2.根据权利要求1所述的方法,其特征在于,在所述通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求之前,所述方法还包括:
判断所述第一测试请求中是否携带有压缩标识;
如果所述第一测试请求中携带有压缩标识,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
3.根据权利要求1所述的方法,其特征在于,所述向所述客户端发送基于所述测试响应得到的测试结果,包括:
将基于所述测试响应得到的测试结果转换为JSON格式,并向所述客户端发送转换后测试结果。
4.根据权利要求1所述的方法,其特征在于,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
5.一种接口测试方法,其特征在于,所述方法应用于客户端,所述方法包括:
接收用户输入的测试指令;
生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;
向工具服务器发送所述第一测试请求,以使所述工具服务器开启所述并发测试标识所表示的并发测试次数个线程,通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求,其中,所述第二测试请求为基于所述第一测试请求得到的,当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
获取所述测试结果。
6.根据权利要求5所述的方法,其特征在于,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
7.根据权利要求5所述的方法,其特征在于,在所述生成携带有并发测试标识的第一测试请求之前,所述方法还包括:
判断所述测试指令是否指示对请求体进行压缩;
所述生成携带有并发测试标识的第一测试请求,包括:
在所述测试指令指示对请求体进行压缩的情况下,生成携带有并发测试标识和压缩标识的第一测试请求,以使所述工具服务器在接收到所述第一测试请求后,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
8.一种接口测试***,其特征在于,所述接口测试***包括工具服务器和客户端,其中:
所述客户端,用于接收用户输入的测试指令;生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;向所述工具服务器发送所述第一测试请求;
所述工具服务器,用于开启所述并发测试标识所表示的并发测试次数个线程;通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
所述客户端,还用于获取所述测试结果。
9.一种接口测试装置,其特征在于,所述装置应用于工具服务器,所述装置包括:
第一测试请求接收模块,用于接收客户端发送的第一测试请求;
线程开启模块,用于如果所述第一测试请求中携带有并发测试标识,开启所述并发测试标识所表示的并发测试次数个线程;
第二测试请求发送模块,用于通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求;其中,所述第二测试请求为基于所述第一测试请求得到的;
测试结果发送模块,用于当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求之前,判断所述第一测试请求中是否携带有压缩标识;
压缩模块,用于如果所述第一测试请求中携带有压缩标识,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
11.根据权利要求9所述的装置,其特征在于,所述测试结果发送模块,具体用于将基于所述测试响应得到的测试结果转换为JSON格式,并向所述客户端发送转换后测试结果。
12.根据权利要求9所述的装置,其特征在于,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
13.一种接口测试装置,其特征在于,所述装置应用于客户端,所述装置包括:
测试指令接收模块,用于接收用户输入的测试指令;
第一测试请求生成模块,用于生成携带有并发测试标识的第一测试请求;其中,所述并发测试标识表示所述测试指令所指示的并发测试次数;
第一测试请求发送模块,用于向工具服务器发送所述第一测试请求,以使所述工具服务器开启所述并发测试标识所表示的并发测试次数个线程,通过每一线程分别向所述第一测试请求对应的接口服务器发送第二测试请求,其中,所述第二测试请求为基于所述第一测试请求得到的,当接收到所述接口服务器返回的针对所述第二测试请求的测试响应时,向所述客户端发送基于所述测试响应得到的测试结果;
测试结果获取模块,用于获取所述测试结果。
14.根据权利要求13所述的装置,其特征在于,所述测试结果包括以下至少一项:所述测试响应、表示所述接口服务器是否成功响应所述第二测试请求的标识、所述接口服务器响应所述第二测试请求的时长。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述生成携带有并发测试标识的第一测试请求之前,判断所述测试指令是否指示对请求体进行压缩;
所述第一测试请求生成模块,具体用于在所述测试指令指示对请求体进行压缩的情况下,生成携带有并发测试标识和压缩标识的第一测试请求,以使所述工具服务器在接收到所述第一测试请求后,基于预设的压缩算法对所述第一测试请求的请求体进行压缩,得到第二测试请求。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-4,或,5-7任一所述的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4,或者,5-7任一所述的方法步骤。
CN202110328035.8A 2021-03-26 2021-03-26 一种接口测试方法、装置和*** Pending CN112988589A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110328035.8A CN112988589A (zh) 2021-03-26 2021-03-26 一种接口测试方法、装置和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110328035.8A CN112988589A (zh) 2021-03-26 2021-03-26 一种接口测试方法、装置和***

Publications (1)

Publication Number Publication Date
CN112988589A true CN112988589A (zh) 2021-06-18

Family

ID=76333947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110328035.8A Pending CN112988589A (zh) 2021-03-26 2021-03-26 一种接口测试方法、装置和***

Country Status (1)

Country Link
CN (1) CN112988589A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282511A (zh) * 2021-06-24 2021-08-20 中国农业银行股份有限公司 测试方法及设备
CN114398281A (zh) * 2022-01-18 2022-04-26 北京自如信息科技有限公司 一种应用接口耗时测试方法、***和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915344B1 (en) * 1999-11-30 2005-07-05 Microsoft Corporation Server stress-testing response verification
CN105224450A (zh) * 2014-07-02 2016-01-06 阿里巴巴集团控股有限公司 并发测试方法及装置
CN109710533A (zh) * 2018-12-29 2019-05-03 亚信科技(中国)有限公司 一种接口测试方法、装置及服务器
CN110147315A (zh) * 2019-04-17 2019-08-20 深圳壹账通智能科技有限公司 并发性能测试方法、装置、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915344B1 (en) * 1999-11-30 2005-07-05 Microsoft Corporation Server stress-testing response verification
CN105224450A (zh) * 2014-07-02 2016-01-06 阿里巴巴集团控股有限公司 并发测试方法及装置
CN109710533A (zh) * 2018-12-29 2019-05-03 亚信科技(中国)有限公司 一种接口测试方法、装置及服务器
CN110147315A (zh) * 2019-04-17 2019-08-20 深圳壹账通智能科技有限公司 并发性能测试方法、装置、计算机设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282511A (zh) * 2021-06-24 2021-08-20 中国农业银行股份有限公司 测试方法及设备
CN113282511B (zh) * 2021-06-24 2024-05-07 中国农业银行股份有限公司 测试方法及设备
CN114398281A (zh) * 2022-01-18 2022-04-26 北京自如信息科技有限公司 一种应用接口耗时测试方法、***和电子设备

Similar Documents

Publication Publication Date Title
CN110221982B (zh) 业务***的性能测试方法、装置、设备及可读存储介质
CN107341098B (zh) 软件性能测试方法、平台、设备及存储介质
CN107436844B (zh) 一种接口用例合集的生成方法及装置
CN109408375B (zh) 接口文档的生成方法和装置
CN110798380B (zh) 一种数据获取方法、***、装置、测试设备及测试服务器
CN107092535B (zh) 用于测试接口的数据存储的方法及设备
CN111522728A (zh) 自动化测试用例的生成方法、电子设备及可读存储介质
CN112988589A (zh) 一种接口测试方法、装置和***
CN112685029A (zh) 一种可视化模板的生成方法、装置、设备及存储介质
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
CN112866348A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN110430070B (zh) 一种服务状态分析方法、装置、服务器、数据分析设备及介质
CN115052037B (zh) 客户端检测方法、装置、存储介质和设备
CN113672497B (zh) 无埋点事件的生成方法、装置、设备及存储介质
CN112948195B (zh) 接口测试的方法、装置、电子设备和存储介质
CN112631929A (zh) 测试用例生成方法、装置、存储介质及电子设备
CN112882937A (zh) 测试用例的处理方法、装置、计算机设备及存储介质
CN115129575A (zh) 一种代码覆盖结果生成方法及装置
CN111651356A (zh) 一种应用程序测试方法、装置及***
CN111159988A (zh) 一种模型处理方法、装置、计算机设备及存储介质
CN113010587A (zh) 数据源配置方法、装置、终端、服务器及介质
CN113626409B (zh) 一种测试资料处理方法、装置、设备及存储介质
CN115373973A (zh) 一种软件***测试方法及装置
CN117670236A (zh) 一种基于移动端的待办流程审批方法、装置、设备及介质
CN114860578A (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