CN116303062A - 服务接口的测试方法、装置、终端设备和可读存储介质 - Google Patents
服务接口的测试方法、装置、终端设备和可读存储介质 Download PDFInfo
- Publication number
- CN116303062A CN116303062A CN202310311473.2A CN202310311473A CN116303062A CN 116303062 A CN116303062 A CN 116303062A CN 202310311473 A CN202310311473 A CN 202310311473A CN 116303062 A CN116303062 A CN 116303062A
- Authority
- CN
- China
- Prior art keywords
- java
- pile
- service interface
- stub
- test case
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 117
- 230000004044 response Effects 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012795 verification Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010998 test method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 239000000463 material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
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
-
- 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/3684—Test management for test design, e.g. generating new test cases
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
本申请提供了一种服务接口的测试方法、装置、终端设备和可读存储介质,方法包括首先获取第一测试用例;将第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;然后通过Java桩根据第二测试用例的场景定义出多个Java桩对象;Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;其中每一个Java桩对象接收一个请求;再通过Java桩向被测服务接口发送响应结果,并验证响应结果;最后根据验证结果确定被测服务接口的测试结果。该服务接口的测试方法,可以支持一个用例多次验证输出,使用非常方便。
Description
技术领域
本申请涉及接口测试与应用技术领域,具体涉及一种服务接口的测试方法、装置、终端设备和可读存储介质。
背景技术
应用程序接口(Application Programming Interface,即API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,API也越来越多,对其进行测试也越来越重要。目前可以使用mock工具对其进行测试,市场上接口级别的mock工具有很多,仅支持HTTP、HTTPS、SOCKS等协议,且仅支持一个用例一个输出,比如Mockserver。使用非常不方便,且不能支持多种通信协议。
发明内容
有鉴于此,本申请实施例中提供了一种服务接口的测试方法、装置、终端设备和可读存储介质,以克服现有技术的mock工具仅支持一个用例一个输出,使用非常不方便的问题。
第一方面,本申请实施例提供了一种服务接口的测试方法,该方法包括:
获取第一测试用例;将所述第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;
通过Java桩根据第二测试用例的场景定义出多个Java桩对象;所述Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;
通过所述Java桩向所述被测服务接口发送响应结果,并验证响应结果;
根据所述验证结果确定所述被测服务接口的测试结果。
第二方面,本申请实施例提供了一种服务接口的测试装置,该装置包括:
用例获取模块,用于获取第一测试用例;
用例转换模块,用于将所述第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;
请求接收模块,用于通过Java桩根据第二测试用例的场景定义出多个Java桩对象;所述Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;
响应结果验证模块,用于通过所述Java桩向所述被测服务接口发送响应结果,并验证响应结果;
测试结果确定模块,用于根据所述验证结果确定所述被测服务接口的测试结果。
第三方面,本申请实施例提供了一种终端设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的服务接口的测试方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的服务接口的测试方法。
本申请实施例提供的服务接口的测试方法、装置、终端设备和可读存储介质,首先获取第一测试用例;将第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;然后通过Java桩根据第二测试用例的场景定义出多个Java桩对象;Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;其中每一个Java桩对象接收一个请求;再通过Java桩向所述被测服务接口发送响应结果,并验证响应结果;最后根据验证结果确定被测服务接口的测试结果。
本申请实施例提供的服务接口的测试方法,可以支持一个用例多个输出,使用非常方便。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的服务接口的测试方法的应用场景示意图;
图2为本申请一个实施例提供的服务接口的测试方法的流程示意图;
图3为另本申请一个实施例提供的服务接口的测试方法的流程示意图;
图4为本申请一个实施例中提供的服务接口的测试装置的结构示意图;
图5为本申请一个实施例中提供的终端设备的结构示意图;
图6为本申请一个实施例中提供的计算机可读存储介质的结构示意图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更详细说明本申请,下面结合附图对本申请提供的一种服务接口的测试方法、装置、终端设备和计算机可读存储介质,进行具体地描述。
请参考图1,图1示出了本申请实施例提供的服务接口的测试方法的应用场景的示意图,该应用场景包括本申请实施例提供的终端设备100,终端设备100可以是具有显示屏的各种电子设备(如102、104、106和108的结构图),包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种。终端设备100可以泛指多个终端设备中的一个,本实施例仅以终端设备100来举例说明。本领域技术人员可以知晓,上述终端设备的数量可以更多或更少。比如上述终端设备可以仅为几个,或者上述终端设备为几十个或几百个,或者更多数量,本申请实施例对终端设备的数量和类型不加以限定。终端设备100可以用来执行本申请实施例中提供的一种服务接口的测试方法。
进一步地,本申请实施例中提供的服务接口的测试方法的运行环境可以是4核8G的linux操作系统。
在一种可选的实施方式中,该应用场景包括本申请实施例提供的终端设备100之外,还可以包括服务器,其中服务器与终端设备之间设置有网络。网络用于在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器可以是多个服务器组成的服务器集群等。其中,终端设备通过网络与服务器交互,以接收或发送消息等。服务器可以是提供各种服务的服务器。其中服务器可以用来执行本申请实施例中提供的一种服务接口的测试方法的步骤。此外,终端设备在执行本申请实施例中提供的一种服务接口的测试方法时,可以将一部分步骤在终端设备执行,一部分步骤在服务器执行,在这里不进行限定。
基于此,本申请实施例中提供了一种服务接口的测试方法。请参阅图2,图2示出了本申请实施例提供的一种服务接口的测试方法的流程示意图,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:
步骤S110,获取第一测试用例;将第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例。
在一个实施例中,在执行步骤S110,将第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例,包括:采用python桩根据设定的协议将第一测试用例转换成符合规范并能与Java桩进行交互的第二试用例。
步骤S120,通过Java桩根据第二测试用例的场景定义出多个Java桩对象;Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求。
在本实施例中,对服务接口的测试方法采用的是基于Mock测试方法。场景的mock类型包括服务级别mock、接口级别mock、类级别mock以及方法级别mock。在本实施例中采用的是接口级别mock,其中接口级别mock,mock的对象是一个API接口。在使用mock进行接口测试时,一般要做两件事情,即打桩和调桩。打桩就是创建mock桩,指定API请求内容及其映射的mock响应结果内容;调桩就是被测服务来请求mock桩并接收mock响应结果。
请参照图2所示,mock桩可以包括python桩,Java桩;其中Java桩包括client stubMocked client(即客户端)、report stub Mocked server(即服务端)、media_api stubMocked server(即服务端)、others stub Mocked server等。
第一测试用例,又可以称为业务代码(QA Code,即QA)是执行一个项目测试最主要的工作对象;即测试人员针对被测服务设计的各种测试场景,采用python语言转成代码,每一个接口的用例统一放在/testSuite/groups/下的py文件,前缀为test。
Python测试桩(即stub-framework-python),又称为Python桩,用于连接QA Code和Java桩。由于用例是用python写的,桩是用Java写的,Python桩能让python代码与Java桩进行通信;执行测试的时候,QA Code会根据用例代码的情况向Python桩发送数据,Python桩根据QA Code设定的协议,构建符合规范的第二测试用例,再发送给Java桩。
进一步地,python桩用grpc封装LWMF client/server、http client/server等协议,提供与用例代码通信的跨语言环境;另外Python桩通过set request/response、getresponse/response等方法实现用例与Java桩的实时通信,通过request、response队列灵活支持输入与输出的组合。
Java测试桩(即Java stub),又称为Java桩,用于和被测服务接口进行交互,同时会根据被测服务的特征来提供一些特性使得自动化测试可以进行。Java测试桩在部分协议组件上和被测服务会保持一致。
通常情况下,我们会提到对被测服务接口的其他交互关联服务进行打桩,这些"桩"就是Java桩的实例。
在本实施例中,Java桩可以将从python桩接收到的第一测试用例进行处理转换,从而生成多个第二测试用例。每一个第二测试用例都可以用来对被测服务接口进行测试。
步骤S130,通过Java桩接收向被测服务接口发送响应结果,并验证响应结果。
步骤S140,根据验证结果确定被测服务接口的测试结果。
具体来说,在对被测服务接口进行测试过程中,Java桩可以根据第二测试用例的使用场景定义出多个Java桩对象;Java桩对象可以接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性。对被测服务接口发送请求,Java桩对象接收到请求后,会按照预设内容做出相关响应结果,然后将响应结果发送至被测服务将响应结果并验证响应结果,然后根据验证结果来确定被测服务接口的测试结果。通常情况下,当响应结果与预设的响应结果一致时,表示被测服务接口测试通过,如果不是,那表示被测服务接口测试失败。
本申请实施例提供的服务接口的测试方法、装置、终端设备和可读存储介质,首先获取第一测试用例;将第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;然后通过Java桩根据第二测试用例的场景定义出多个Java桩对象;Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;其中每一个Java桩对象接收一个请求;再通过Java桩向所述被测服务接口发送响应结果,并验证响应结果;最后根据验证结果确定被测服务接口的测试结果。
本申请实施例提供的服务接口的测试方法,可以支持一个用例验证多个输出,使用非常方便。
在一个实施例中,Java桩对象用于接收被测服务接口发送的多个请求,包括:Java桩对象用于利用LWMF通信协议接收所述被测服务接口发送的多个请求。
具体地,在Java桩对象接收被测服务接口发送请求时,可以通过LWMF通信协议进行。LWMF通信协议是公司自研的一种新的通信协议。
另外,Java桩除了可以接收被测服务接口发送的请求,并向被测服务接口发送响应结果之外,Java桩还可以向被测服务接口发送请求,并接收被测服务接口发送的响应。具体描述如下:
在一个实施例中,Java桩包括mock client桩、第一mock服务桩和第二mock服务桩;服务接口的测试方法还包括
步骤S1,采用mock client桩向被测服务接口发送请求;
步骤S2,通过第一mock服务桩接收请求,并根据预设内容发送第一响应结果;
步骤S3,通过第二mock服务桩接收请求,并根据预设内容发送第二响应结果;
步骤S4,通过mock client桩接收被测服务接口的响应结果并验证响应结果,响应结果是根据第一响应结果和第二响应结果确定的。
具体来说,Mock服务与用例代码集成,且一个用例多次验证输出。具体过程为:初始化mock client桩,初始化第一mock服务桩(例如mock server A)和第二mock服务桩(例如mock server B),然后mock client发送服务请求给被测服务接口,第一mock服务桩(例如mock server A)接收请求,第一mock服务桩(例如mock server A)根据第二测试用例中预设结果发送第一响应结果;第二mock服务桩(例如mock server B)接收请求,第二mock服务桩(例如mock server B)根据第二测试用例中预设结果发送第二响应结果。最后mockclient接收被测服务接口的响应结果并进行验证。其中被测服务接口的响应结果是根据第一mock服务桩(例如mock server A)的第一响应结果和第二mock服务桩(例如mock serverB)的第二响应结果确定的。
在一个实施例中,方法还包括:输出python桩的日志信息。
在一个实施例中,方法还包括:输出Java桩的日志信息。
在一个实施例中,方法还包括:输出被测服务接口的日志信息。
具体地,python桩会有日志信息,主要记录Python桩的出错信息,可以直接在QACode的运行屏幕上显示。
Java桩会有日志信息,主要用于记录Java桩相关信息,可以存储在project目录下的nohup.out文件里。
被测服务接口也有日志信息,主要用于记录被测服务接口相关信息,可以存储在~/logs目录文件中。
通过上述的各日志信息可以快速、准确确定python桩、Java桩以及被测服务接口的存在的问题等。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
上述本申请公开的实施例中详细描述了一种服务接口的测试方法,对于本申请公开的上述方法可采用多种形式的设备实现,因此本申请还公开了对应上述方法的服务接口的测试装置,下面给出具体的实施例进行详细说明。
请参阅图4,为本申请实施例公开的一种服务接口的测试装置,主要包括:
用例获取模块410,用于获取第一测试用例;
用例转换模块420,用于将第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;
请求接收模块430,用于通过Java桩根据第二测试用例的场景定义出多个Java桩对象;Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;
响应结果验证模块440,用于通过Java桩向被测服务接口发送响应结果,并验证响应结果;
测试结果确定模块450,用于根据验证结果确定被测服务接口的测试结果。
在一个实施例中,用例转换模块420,用于采用python桩根据设定的协议将第一测试用例转换成符合规范并能与Java桩进行交互的第二测试用例。
在一个实施例中,Java桩对象用于利用LWMF通信协议向被测服务接口发送请求。
在一个实施例中,Java桩包括mock client桩、第一mock服务桩和第二mock服务桩;装置还包括:
请求发送模块,用于采用mock client桩向被测服务接口发送请求;
第一结果发送模块,用于通过第一mock服务桩接收请求,并根据预设内容发送第一响应结果;
第二结果发送模块,用于通过第二mock服务桩接收请求,并根据预设内容发送第二响应结果;
验证模块,用于通过mock client桩接收被测服务接口的响应结果并验证响应结果,响应结果是根据第一响应结果和第二响应结果确定的。
在一个实施例中,装置还包括:第一日志输出模块,用于输出python桩的日志信息。
在一个实施例中,装置还包括:第二日志输出模块,用于输出Java桩的日志信息。
在一个实施例中,装置还包括:第三日志输出模块,用于输出被测服务接口的日志信息。
关于服务接口的测试装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参考图5,图5其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备50可以是计算机设备。本申请中的终端设备50可以包括一个或多个如下部件:处理器52、存储器54以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器54中并被配置为由一个或多个处理器52执行,一个或多个应用程序配置用于执行上述应用于服务接口的测试方法实施例中所描述的方法。
处理器52可以包括一个或者多个处理核。处理器52利用各种接口和线路连接整个终端设备50内的各个部分,通过运行或执行存储在存储器54内的指令、程序、代码集或指令集,以及调用存储在存储器54内的数据,执行终端设备50的各种功能和处理数据。可选地,处理器52可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器52可集成中央处理器(Central ProcessingUnit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器52中,单独通过一块通信芯片进行实现。
存储器54可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器54可用于存储指令、程序、代码、代码集或指令集。存储器54可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端设备50在使用中所创建的数据等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
综上,本申请实施例提供的终端设备用于实现前述方法实施例中相应的服务接口的测试方法,并具有相应的方法实施例的有益效果,在此不再赘述。
请参阅图6,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质60中存储有程序代码,程序代码可被处理器调用执行上述服务接口的测试方法实施例中所描述的方法。
计算机可读取存储介质60可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质60包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质60具有执行上述方法中的任何方法步骤的程序代码62的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码62可以例如以适当形式进行压缩。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种服务接口的测试方法,其特征在于,所述方法包括:
获取第一测试用例;将所述第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;
通过Java桩根据所述第二测试用例的场景定义出多个Java桩对象;所述Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;
通过所述Java桩向所述被测服务接口发送响应结果,并验证响应结果;
根据验证结果确定所述被测服务接口的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例,包括:
采用所述python桩根据设定的协议将所述第一测试用例转换成符合规范并能与Java桩进行交互的第二测试用例。
3.根据权利要求1所述的方法,其特征在于,所述Java桩对象用于接收被测服务接口发送的多个请求,包括:
所述Java桩对象用于利用LWMF通信协议接收所述被测服务接口发送的多个请求。
4.根据权利要求1所述的方法,其特征在于,所述Java桩包括mock client桩、第一mock服务桩和第二mock服务桩;所述方法还包括:
采用所述mock client桩向被测服务接口发送请求;
通过所述第一mock服务桩接收所述请求,并根据预设内容发送第一响应结果;
通过所述第二mock服务桩接收所述请求,并根据预设内容发送第二响应结果;
通过所述mock client桩接收所述被测服务接口的响应结果并验证响应结果,所述响应结果是根据第一响应结果和第二响应结果确定的。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
输出所述python桩的日志信息。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
输出所述Java桩的日志信息。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
输出所述被测服务接口的日志信息。
8.一种服务接口的测试装置,其特征在于,所述装置包括:
用例获取模块,用于获取第一测试用例;
用例转换模块,用于将所述第一测试用例通过python桩转化成符合规范并能与Java桩进行交互的第二测试用例;
请求接收模块,用于通过Java桩根据第二测试用例的场景定义出多个Java桩对象;所述Java桩对象用于接收被测服务接口发送的多个请求并验证请求中请求体的数据准确性;其中每一个Java桩对象一次接收一个请求;
响应结果验证模块,用于通过所述Java桩向所述被测服务接口发送响应结果,并验证被测服务接口响应结果;
测试结果确定模块,用于根据所述验证结果确定所述被测服务接口的测试结果。
9.一种终端设备,其特征在于,包括:
存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311473.2A CN116303062B (zh) | 2023-03-27 | 2023-03-27 | 服务接口的测试方法、装置、终端设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311473.2A CN116303062B (zh) | 2023-03-27 | 2023-03-27 | 服务接口的测试方法、装置、终端设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116303062A true CN116303062A (zh) | 2023-06-23 |
CN116303062B CN116303062B (zh) | 2023-12-19 |
Family
ID=86790285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310311473.2A Active CN116303062B (zh) | 2023-03-27 | 2023-03-27 | 服务接口的测试方法、装置、终端设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303062B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126411A (zh) * | 2016-06-13 | 2016-11-16 | 广州酷狗计算机科技有限公司 | 一种对被测程序代码进行测试的方法和装置 |
CN106970873A (zh) * | 2017-01-10 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 线上mock测试方法、装置及系统 |
US20180357154A1 (en) * | 2017-06-12 | 2018-12-13 | International Business Machines Corporation | Automatically Running Tests Against WEB APIs Based on Specifications |
US20190188119A1 (en) * | 2017-12-14 | 2019-06-20 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for providing automated performance detection of application programming interfaces |
CN111708702A (zh) * | 2020-06-18 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 模拟测试方法、客户端、服务端、系统与可读存储介质 |
CN112035344A (zh) * | 2020-08-13 | 2020-12-04 | 天津智融创新科技发展有限公司 | 多场景测试方法、装置、设备和计算机可读存储介质 |
CN114238065A (zh) * | 2020-09-09 | 2022-03-25 | 马上消费金融股份有限公司 | 一种测试处理方法、装置、设备和可读存储介质 |
CN114840410A (zh) * | 2021-02-01 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 测试分析方法、装置、计算机设备及存储介质 |
-
2023
- 2023-03-27 CN CN202310311473.2A patent/CN116303062B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126411A (zh) * | 2016-06-13 | 2016-11-16 | 广州酷狗计算机科技有限公司 | 一种对被测程序代码进行测试的方法和装置 |
CN106970873A (zh) * | 2017-01-10 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 线上mock测试方法、装置及系统 |
US20180357154A1 (en) * | 2017-06-12 | 2018-12-13 | International Business Machines Corporation | Automatically Running Tests Against WEB APIs Based on Specifications |
US20190188119A1 (en) * | 2017-12-14 | 2019-06-20 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for providing automated performance detection of application programming interfaces |
CN111708702A (zh) * | 2020-06-18 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 模拟测试方法、客户端、服务端、系统与可读存储介质 |
CN112035344A (zh) * | 2020-08-13 | 2020-12-04 | 天津智融创新科技发展有限公司 | 多场景测试方法、装置、设备和计算机可读存储介质 |
CN114238065A (zh) * | 2020-09-09 | 2022-03-25 | 马上消费金融股份有限公司 | 一种测试处理方法、装置、设备和可读存储介质 |
CN114840410A (zh) * | 2021-02-01 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 测试分析方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116303062B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650149B (zh) | 服务器的测试方法、装置、设备及计算机可读存储介质 | |
CN110198247B (zh) | 接口测试方法及系统 | |
CN110659206B (zh) | 基于微服务的模拟架构建立方法、装置、介质及电子设备 | |
CN109684188B (zh) | 测试方法和装置 | |
CN105872083A (zh) | 一种支持不同类型客户端访问服务器的方法、服务器及系统 | |
CN112631590B (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN111352836A (zh) | 一种压力测试方法及相关装置 | |
CN110716743B (zh) | 一种适合多方协作开发的聚合api开发方法及系统 | |
CN110955600A (zh) | 接口测试方法及装置 | |
CN114564203A (zh) | 一种业务运行方法、装置、电子设备及可读介质 | |
CN113127108A (zh) | 业务请求的处理方法及装置、存储介质以及电子设备 | |
CN107273226B (zh) | 在安卓系统中集成组件及调用被集成组件的方法和装置 | |
CN112131095B (zh) | 压力测试方法和装置 | |
CN112631694B (zh) | 一种api接口封装调用方法及系统 | |
CN112732677B (zh) | 区块链节点部署方法、装置、设备及存储介质 | |
CN116303062B (zh) | 服务接口的测试方法、装置、终端设备和可读存储介质 | |
CN106095886B (zh) | 一种数据处理方法及其装置 | |
CN111158661A (zh) | 系统接口对接方法、装置、介质及电子设备 | |
CN115454878A (zh) | 一种应用于微服务的接口调用测试方法及相关装置 | |
CN115629976A (zh) | 一种内核测试方法、装置和存储介质 | |
CN116028356A (zh) | 基于蓝牙的终端软件测试方法及装置 | |
CN112256564B (zh) | 应用程序的运行方法、装置及电子设备 | |
CN113704079B (zh) | 基于Protobuf的接口测试方法和装置 | |
CN111273970B (zh) | 智能合约的调用方法、装置、系统、介质及电子设备 | |
CN111984543A (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 |