CN112328486A - 接口自动化测试方法、装置、计算机设备及存储介质 - Google Patents
接口自动化测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112328486A CN112328486A CN202011232732.5A CN202011232732A CN112328486A CN 112328486 A CN112328486 A CN 112328486A CN 202011232732 A CN202011232732 A CN 202011232732A CN 112328486 A CN112328486 A CN 112328486A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- execution
- layer
- strategy
- 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
Links
- 238000010998 test method Methods 0.000 title claims description 12
- 238000012360 testing method Methods 0.000 claims abstract description 330
- 238000000034 method Methods 0.000 claims abstract description 75
- 239000008186 active pharmaceutical agent Substances 0.000 description 30
- 230000008569 process Effects 0.000 description 26
- 238000000605 extraction Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer 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/3684—Test management for test design, e.g. generating new test cases
-
- 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/3692—Test management for test results analysis
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
本申请实施例属于测试技术领域,涉及一种接口自动化测试方法,包括在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参;基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的;基于所述测试目的,调用预设的API层中与测试目的对应的执行策略执行所述接口请求,完成接口测试。本申请还提供一种接口自动化测试装置、计算机设备及存储介质。其中,API层中的执行策略可存储于区块链中。本申请有效的提高了测试用例的复用性,提升了测试效率。
Description
技术领域
本申请涉及测试技术领域,尤其涉及接口自动化测试方法、装置、计算机设备及存储介质。
背景技术
随着信息化进程的加速推进和计算机水平的日益提高,各行各业都已应用计算机进行高效率的工作和审批等事务,在不同的服务器之间进行信息交互时,往往需要请求调用接口,为给用户提供更好的服务,这些接口提供给用户使用之前,均需要进行接口调用测试。
目前,常见的接口调用测试方案大多是将接口参数直接写入测试用例层的测试策略中,在接口参数改变时,需要修改对应的测试策略中的参数内容。随着项目的种类增加,这种方式导致测试策略的复用性较低,测试效率低的缺陷逐渐显露。
发明内容
本申请实施例的目的在于提出一种接口自动化测试方法、装置、计算机设备及存储介质,有效的提高了测试用例的复用性,提升了测试效率。
为了解决上述技术问题,本申请实施例提供一种接口自动化测试方法,采用了如下所述的技术方案:
一种接口自动化测试方法,包括下述步骤:
在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参;
基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的;
基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试。
进一步的,所述API层中包括第一接口和第二接口,所述第一接口中封装有不同的主执行策略,所述第二接口中封装有不同的副执行策略,所述基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试的步骤包括:
基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果;
将所述最终执行结果返回至所述第一接口,并通过所述第一接口将所述最终执行结果返回至所述测试用例层;
通过所述测试用例层调用预设的工具层中的断言工具,断言所述最终执行结果,获得断言结果以完成接口测试。
进一步的,所述通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果的步骤包括:
当所述主执行策略调用的所述副执行策略为一个时,获得最终执行结果;
当所述主执行策略调用的所述副执行策略为多个时,依次执行所述副执行策略,其中,每执行一个副执行策略,获得一个中间执行结果,将所述中间执行结果返回至第一接口,当接收到所述第一接口返回的继续执行指令时,执行下一个副执行策略,直至执行完当前主执行策略调用的所有副执行策略,获得最终执行结果。
进一步的,所述第一接口包括第一主执行策略、第二主执行策略和第三主执行策略,所述第二接口包括第一副执行策略、第二副执行策略和第三副执行策略,基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果的步骤包括:
识别所述测试目的;
当所述测试目的为参数加密时,调用所述第一接口中的第一主执行策略,通过所述第一主执行策略调用所述第二接口中的第一副执行策略执行参数加密,获得最终执行结果;
当所述测试目的为日志对比时,调用所述第一接口中的第二主执行策略,通过所述第二主执行策略调用第二接口中的第一副执行策略和第二副执行策略,分别依次执行参数加密和日志对比,获得中间执行结果和最终执行结果;
当所述测试目的为通知类日志对比时,调用所述第一接口中的第三主执行策略,通过所述第三主执行策略调用所述第二接口中的第一副执行策略、第二副执行策略和第三副执行策略,分别依次执行参数加密、日志对比和通知类日志对比,获得中间执行结果和最终执行结果。
进一步的,所述dto层包括不同的dto类,所述dto类中具有不同的参数生成策略,所述在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参的步骤包括:
在接收到用户发送的测试指令时,确定所述测试指令对应的测试目标用户和测试目的;
基于测试用例层调用预设的dto层;
基于所述测试目标用户选择对应的dto类,其中,所述测试目标用户与所述dto类为一一对应关系;
基于所述测试目的确定所述dto类中对应的参数生成策略,通过所述参数生成策略生成接口入参。
进一步的,所述参数生成策略包括组装策略,所述通过所述参数生成策略生成接口入参的步骤包括:
当基于所述测试目的确定的所述dto类中对应的参数生成策略为组装策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层组装所述接口参数,生成接口入参。
进一步的,所述参数生成策略包括随机生成策略,所述通过所述参数生成策略生成接口入参的步骤包括:
当基于所述测试目的确定的所述dto类中对应的参数生成策略为随机生成策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层调用预设的工具层中的随机数生成工具;
获取时间戳,基于所述随机数生成工具根据时间戳生成随机数,通过所述dto层组装所述随机数和预先设定的接口参数,生成接口入参。
为了解决上述技术问题,本申请实施例还提供一种接口自动化测试装置,采用了如下所述的技术方案:
一种接口自动化测试装置,包括:
参数生成模块,用于在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参;
请求发送模块,用于基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的;
请求执行模块,用于基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述的接口自动化测试方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的接口自动化测试方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
通过单独设置的dto层实现接口入参的独立生成,再将生成的接口入参传输至测试用例层,避免了每次接口的参数改变时,需要对应修改测试策略,导致测试策略复用性低的情况。本申请在需要修改接口的参数时,只需要修改dto层中接口入参的生成方法,不需要修改测试用例层,有效的提高了测试用例层中的测试策略的复用性,提升了测试效率。区别于现有技术的每一步执行过程需要调用对应的API,本申请将执行过程根据测试目的的不同,调用API层中不同的执行策略。提升了整体测试过程的简洁性,可理解性,实现了测试过程的快速执行。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的接口自动化测试方法的一个实施例的流程图;
图3是根据本申请的接口自动化测试装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
附图标记:200、计算机设备;201、存储器;202、处理器;203、网络接口;300、接口自动化测试装置;301、参数生成模块;302、请求发送模块;303、请求执行模块。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的接口自动化测试方法一般由服务器/终端设备执行,相应地,接口自动化测试装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的接口自动化测试方法的一个实施例的流程图。所述的接口自动化测试方法,包括以下步骤:
S1:在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参。
在本实施例中,测试目的包含于测试用例层的测试策略中,根据测试指令确定测试用例层中对应的测试目的。DTO(Data Transfer Object,数据传输对象)一般用于数据的保存和传递。本申请将dto层与测试用例层结合,将原本的测试用例层中测试策略(即case方法)中所包含的接口入参等信息,通过dto层来生成,实现不同的测试策略可以重复使用。而dto层可以与测试用例层中不同的测试策略结合,满足不同测试策略生成不同类型参数的需求。在应用过程中,由于需求的变动,可能会造成参数的变动,进而导致测试用例层中的测试策略变动。例如:某需求优化时,需要在某接口增加一个必填参数,该接口原有50个参数,则该接口至少有51个测试策略(即case方法),其中,包括1个准入和50个参数校验测试策略(即case方法)。在这种情况下,需要修改51个测试策略的参数部分。而通过本申请的dto层统一管理生成接口入参之后,只需要修改dto类中对应接口的生成参数方法,对应测试用例和测试方法都无需修改,有效提升了测试策略的复用和计算机的测试速度。
在本实施例中,接口自动化测试方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收测试目的。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
具体的,所述dto层包括不同的dto类,所述dto类中具有不同的参数生成策略,所述在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参的步骤包括:
在接收到用户发送的测试指令时,确定所述测试指令对应的测试目标用户和测试目的;
基于测试用例层调用预设的dto层;
基于所述测试目标用户选择对应的dto类,其中,所述测试目标用户与所述dto类为一一对应关系;
基于所述测试目的确定所述dto类中对应的参数生成策略,通过所述参数生成策略生成接口入参。
在本实施例中,所述参数生成策略与所述测试目的为一一对应关系。Dto层中包括不同的dto类,不同的测试目标用户对应不同的dto类,例如:一家银行可以对应一个dto类。在dto类下包括不同的参数生成策略(即dto生成方法),不同的测试目的对应不同的dto生成方法。如此设置,便于统一维护和管理,当项目需求变更,导致接口参数变化时,只需要找到对应的dto类,维护该类下的对应接口的dto生成方法即可。不同的dto类满足不同的测试策略生成不同类型参数的需求,例如:设定默认某一dto类生成正常场景的参数,并传入key和value,则该dto类根据接收到的key和value生成对应的参数。具体的,传入的key为请求流水号(applyNo),value为空(null),进一步生成请求流水号参数为空的参数效验的测试用例。例如:当因为实际需求的改变,而需要变动接口参数时,A接口有1、2、3参数,变成2、3、4参数,那么只需要在dto层修改A接口参数生成的方法,修改参数为2、3、4。此外,对应在测试用例层去掉A接口的1参数校验方法,增加4参数校验方法即可。
此外,所述参数生成策略包括组装策略,所述通过所述参数生成策略生成接口入参的步骤包括:
当基于所述测试目的确定的所述dto类中对应的参数生成策略为组装策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层组装所述接口参数,生成接口入参。
在本实施例中,在需要测试固定的参数的情况下,计算机接收设定接口参数,通过测试用例层调用dto层组装该接口参数,生成接口入参。若不需要固定的参数,而是随机测试的情况下,直接根据要求,通过dto层生成接口入参即可。
对应的,所述参数生成策略包括随机生成策略,所述通过所述参数生成策略生成接口入参的步骤包括:
当基于所述测试目的确定的所述dto类中对应的参数生成策略为随机生成策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层调用预设的工具层中的随机数生成工具;
获取时间戳,基于所述随机数生成工具根据时间戳生成随机数,通过所述dto层组装所述随机数和预先设定的接口参数,生成接口入参。
在本实施例中,Dto层调用工具层(util层)中随机数生成工具生成随机数,其中,随机数生成工具可以采用预先封装的随机数生成函数。Dto层的设计便于与测试用例层进行解耦,且单独设置dto层进行接口入参的生成,满足参数可以重复使用的需求。同时dto层可以随机生成参数。例如:在贷款申请中,一般要求同一用户不能重复申请同款贷款产品。那么在接口测试过程中,用户的身份信息,如手机号、身份证号码、银行***等不能够重复使用。故可以通过时间戳随机生成随机数,使得参数不重复生成,实现各种测试用例可以重复执行。
S2:基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的。
在本实施例中,测试用例层,即Case层用于定义测试策略(case方法),包括流程测试策略和参数校验测试策略两种。由于单独通过dto层生成接口入参,使得本申请的测试用例层定义的测试策略的代码模板更为统一、清晰并且简单,便于快速复制到其他项目,相关人员的学习和测试策略的维护成本均较低。测试用例层根据测试目的的不同,向API层发送对应的接口请求,API层用于定义调用的API。
S3:基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试。
在本实施例中,在调用API层中预设不同的执行策略,根据测试目的的不同,选择不同的执行策略,便于自动化测试的快速进行。
具体的,所述API层中包括第一接口和第二接口,所述第一接口中封装有不同的主执行策略,所述第二接口中封装有不同的副执行策略,所述基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试的步骤包括:
基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果;
将所述最终执行结果返回至所述第一接口,并通过所述第一接口将所述最终执行结果返回至所述测试用例层;
通过所述测试用例层调用预设的工具层中的断言工具,断言所述最终执行结果,获得断言结果以完成接口测试。
在本实施例中,第一接口(FlowBaseAPI)中封装有不同的主执行策略。第二接口(BaseAPI)中封装有不同的副执行策略,其中,所述主执行策略与所述副执行策略之间存在一对一和一对多的对应关系。其中,当主执行策略调用多个副执行策略时,副执行策略依次执行对应的操作,即当一个副执行策略执行完成后,将结果返回至第一接口后,当接收到第一接口返回的继续执行指令时,才继续执行下一个副执行策略。基于测试目的的不同,调用第一接口中不同的主执行策略和第二接口中不同的副执行策略。通过在API层中设置两个具有递进关系的接口,即通过第一接口中的主执行策略调用所述第二接口中对应的至少一个副执行策略,实现自动化测试有条理的进行。测试用例层只会接受第一接口返回的最终执行结果(即最终处理结果),其中,断言工具用于对最终执行结果进行断言,常用的断言工具为JsonAssertion,将最终执行结果与预先设想的结果进行比较,然后输出一致或者不一致作为断言结果。
进一步的,所述通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果的步骤包括:
当所述主执行策略调用的所述副执行策略为一个时,获得最终执行结果;
当所述主执行策略调用的所述副执行策略为多个时,依次执行所述副执行策略,其中,每执行一个副执行策略,获得一个中间执行结果,将所述中间执行结果返回至所述第一接口,当接收到所述第一接口返回的继续执行指令时,执行下一个副执行策略,直至执行完当前主执行策略调用的所有副执行策略,获得最终执行结果。
在本实施例中,测试用例层只会接受第一接口返回的最终执行结果(即最终处理结果)。第二接口里面可能执行了多步操作,每步操作有返回中间执行结果到第一接口,整个过程均在API层中处理。通过设置第一接口和第二接口既实现了对不同的接口测试有条理的执行,又使得中间执行结果返回至第一接口,保证了整个操作过程都在API层中,第一接口接收到中间执行结果后调用下一个副执行策略,直到接收到最终执行结果,才将最终执行结果返回至测试用例层,保证了测试用例层无需关心中间的执行过程,只接收最终执行结果即可,有效避免了测试混乱。
具体的,所述第一接口包括第一主执行策略、第二主执行策略和第三主执行策略,所述第二接口包括第一副执行策略、第二副执行策略和第三副执行策略,基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果的步骤包括:
识别所述测试目的;
当所述测试目的为参数加密时,调用所述第一接口中的第一主执行策略,通过所述第一主执行策略调用所述第二接口中的第一副执行策略执行参数加密,获得最终执行结果;
当所述测试目的为日志对比时,调用所述第一接口中的第二主执行策略,通过所述第二主执行策略调用第二接口中的第一副执行策略和第二副执行策略,分别依次执行参数加密和日志对比,获得中间执行结果和最终执行结果;
当所述测试目的为通知类日志对比时,调用所述第一接口中的第三主执行策略,通过所述第三主执行策略调用所述第二接口中的第一副执行策略、第二副执行策略和第三副执行策略,分别依次执行参数加密、日志对比和通知类日志对比,获得中间执行结果和最终执行结果。
在本实施例中,在测试目的为参数加密中,参数加密返回的结果属于最终执行结果。在测试目的为日志对比中,参数加密返回的结果属于中间执行结果,日志对比返回的结果属于最终执行结果。在测试目的为通知类日志对比中,参数加密操作、日志对比操作返回的结果属于中间执行结果。通知类日志对比操作返回的结果属于最终执行结果。通过主执行策略调用一个或者多个副执行策略,实现了在API层中,主执行策略对副执行策略的控制,保证了测试过程能够根据主执行策略的控制有序的进行。第一接口(FlowBaseAPI)包括三种不同的主执行策略(即方法):1)getAPIResult方法:接口请求发送。2)getCompareLogResult方法:接口请求发送,接口日志比对。3)getCompareNoticeLogResult方法:接口请求发送,接口日志比对,通知接口日志比对。第二接口(BaseAPI)包括三种不同的副执行策略:1)getAPIResult方法:报文加密并发送post请求。2)compareLog方法:接口入参和日志调用关联方接口入参比对,具体为:根据关键字,提取日志中请求关联方接口参数,并与接口入参进行比对,比对内容是根据接口相同的key,比较value值。3)compareNoticeLog方法:接口入参和通知类日志中的参数比对。
本申请需要说明且可以理解的是:参数加密的步骤是在测试目的为参数加密、日志对比以及通知类日志对比中均有执行的。日志对比的步骤是在测试目的为日志对比和通知类日志对比中均有执行的。通知类日志对比的步骤仅在测试目的为通知类日志对比时执行。
其中,当所述测试目的为日志对比时,调用第二主执行策略、第一副执行策略、第二副执行策略执行参数加密操作和日志对比操作的步骤包括:
当所述测试目的为日志对比时,调用第二主执行策略向所述第二接口发送日志对比请求;
通过所述第二接口中的第一副执行策略调用预设的工具层中的日记提取工具类,基于预设的请求流水号进行日志查询,获得接口日志,将所述接口日志作为中间执行结果,返回至所述第一接口;
当接收到所述第一接口发送的继续执行指令时,通过所述第二副执行策略获取所述接口日志中调用关联方接口的参数,比对所述调用关联方接口的参数与所述接口入参,获得日志比对结果,作为所述最终执行结果。
在本实施例中,一般应用***为了方便查看运行情况,以及遇到故障分析问题原因等,都会打印日志。日志会记录程序执行过程,执行信息等。本申请在开始测试时向被测应用***发送接口请求后,无法直接获取被测***调用关联方时发送的请求信息,只能通过被测服务器打印的日志信息获知,需要先提取日志获取调用关联方的请求参数,然后与dto层生成的接口入参进行比对,以确定被测***调用关联方的请求信息中的请求参数无误,其中,被测***调用关联方的请求信息中的请求参数为通过透传获取的接口入参。因被测***向关联方进行请求的请求流水号(applyNo)唯一,故可以将请求流水号(applyNo)作为接口日志打印标记,同时作为提取日志关键字,进行日志文件的接口日志精准提取。
进一步的,所述获取所述接口日志中调用关联方接口的参数,比对所述调用关联方接口的参数与所述接口入参,获得日志比对结果的步骤包括:
通过预设的正则表达式匹配所述接口日志,获得所述接口日志中调用关联方接口的参数;
比较所述调用关联方接口的参数与所述接口入参的key是否相同;
当key相同时,比较对应的value是否一致,获得日志比对结果。
在本实施例中,正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。通过预设的正则表达式来匹配关联方的日志文件,获取接口关联方的请求参数,其中,关联方可以包括银行方或者平台方。本申请可以将参数提取方式封装为日志提取API,在参数提取时直接调用,具体包括:读取被测***打印的日志文件,跟进被测***的日志打印信息,提取关联方的请求参数。
以下为本申请上述实施例的具体详细执行过程:
执行所述参数加密的步骤包括:1)调用所述第一接口(FlowBaseAPI)中的第一主执行策略向所述第二接口(BaseAPI)发送post请求,所述post请求携带有所述接口入参;2)通过所述第二接口中的第一副执行策略调用工具层中的Http tool工具对所述接口入参进行参数加密,生成加密报文;3)基于所述加密报文,通过所述第二接口中的第一副执行策略调用所述Http tool工具发起接口准入请求,生成响应结果;4)将所述响应结果传输至第一接口;5)所述第一接口将所述响应结果传输至测试用例层;6)所述测试用例层调用断言工具对所述响应结果进行断言,生成断言结果,完成接口测试。因为安全需要,应用***一般会对请求信息进行加密,故测试过程中,本申请也同样需要先加密请求参数,再发起请求,通过断言确定响应结果是否符合预期。其中,本申请还包括将加密报文与预期结果相比较,确定是否一致,若一致则参数加密测试无误。
执行所述日志对比的步骤包括:1)调用所述第一接口中的第二主执行策略向所述第二接口发送日志对比请求;2)通过所述第二接口中的第二副执行策略调用工具层中的日记提取工具类(GetLogUnits)进行日志查询,获得接口日志;3)获取所述接口日志中的调用关联方接口的参数,比对所述调用关联方接口的参数与所述接口入参,获得日志比对结果;4)返回所述日志比对结果至所述第一接口;5)所述第一接口将所述日志比对结果传输至测试用例层;6)所述测试用例层调用断言工具对所述日志比对结果进行断言,生成断言结果,完成接口测试。向被测应用***发送接口请求后,无法直接获取被测***调用关联方时的发送的请求信息,只能通过被测服务器打印的日志信息获知,需要先提取日志获取调用关联方的请求参数,然后和dto层生成的接口入参进行比对,以确定被测***调用关联方的请求信息中的请求参数无误,其中,被测***调用关联方的请求信息中的请求参数为通过透传获取的接口入参。
执行所述通知类日志对比的步骤包括:1)调用所述第一接口第三主执行策略向所述第二接口发起通知接口日志比对请求;2)通过所述第二接口中的第三副执行策略调用工具层中日记提取工具类(GetLogUnits)历遍通知类日志集合,获得对应的通知类日志;3)提取并比对所述通知类日志中对应不同关联方的通知接口参数,获得通知类日志比对结果;4)返回所述通知类日志比对结果至所述第一接口;5)所述第一接口将所述通知类日志比对结果传输至测试用例层;6)所述测试用例层调用断言工具(JsonAssertion)对所述日志比对结果进行断言,生成断言结果,完成接口测试。对于通知来说,许多通知是异步的,并非实时发送通知。故在需要发送通知的情况下,需要额外进行通知类日志中参数的比对,以确定通知中的参数无误。
需要说明的是:本申请中的工具类均部署于工具层(util),所述工具层(util)包括不同的工具类,如Http工具类(Http tool)、日记提取工具类(GetLogUnits)、断言工具类(JsonAssertion)、参数类型转换工具类、随机生成数据工具类,例如可以随机生成手机号码、银行***、身份证号码等、日志平台读取工具类、读取配置文件工具类以及请求发送工具类等。
此外,本申请还设置有Config层,Config层用于定义配置,Config层包括环境信息(Config-properties)和常量参数等,若后续有需要变更时,可以在Config层统一修改维护配置信息。
具体的:环境信息用于测试用例层使用,如接口IP、端口、请求URL、日志文件路径、日志文件名称等信息,若后续环境信息变更,只需要在Config配置文件统一修改,不需要修改测试用例层中的内容。常量参数是指:如dto层的生成方法中的一部分随机数,通过工具层的工具类生成。一部分参数是常量,可能多个接口以及多个dto方法都需要使用,则可以写在Config配置文件中,若后续需要导致常量值变更时,不需要修改多个dto方法,只需要在Config配置文件中统一修改。
需要强调的是,为进一步保证上述API层中的执行策略的私密和安全性,上述API层中的执行策略还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种接口自动化测试装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的接口自动化测试装置300包括:参数生成模块301、请求发送模块302以及请求执行模块303。其中:参数生成模块301,用于在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参;请求发送模块302,用于基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的;请求执行模块303,用于基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试。
在本实施例中,通过单独设置的dto层实现接口入参的独立生成,再将生成的接口入参传输至测试用例层,避免了每次接口的参数改变时,需要对应修改测试策略,导致测试策略复用性低的情况。本申请在需要修改接口的参数时,只需要修改dto层中接口入参的生成方法,不需要修改测试用例层,有效的提高了测试用例层中的测试策略的复用性,提升了测试效率。区别于现有技术的每一步执行过程需要调用对应的API,本申请将执行过程根据测试目的的不同,调用API层中不同的执行策略。提升了整体测试过程的简洁性,可理解性,实现了测试过程的快速执行。
所述dto层包括不同的dto类,所述dto类中具有不同的参数生成策略,所述参数生成模块301包括确定子模块、调用子模块、选择子模块和生成子模块。确定子模块用于在接收到用户发送的测试指令时,确定所述测试指令对应的测试目标用户和测试目的;调用子模块用于基于测试用例层调用预设的dto层;选择子模块用于基于所述测试目标用户选择对应的dto类,其中,所述测试目标用户与所述dto类为一一对应关系;生成子模块用于基于所述测试目的确定所述dto类中对应的参数生成策略,通过所述参数生成策略生成接口入参。
所述参数生成策略包括组装策略,在本实施例的一些可选的实现方式中,上述生成子模块进一步用于:当基于所述测试目的确定的所述dto类中对应的参数生成策略为组装策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层组装所述接口参数,生成接口入参。
所述参数生成策略包括随机生成策略,生成子模块包括调用单元和生成单元。调用单元用于当基于所述测试目的确定的所述dto类中对应的参数生成策略为随机生成策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层调用预设的工具层中的随机数生成工具;生成单元用于获取时间戳,基于所述随机数生成工具根据时间戳生成随机数,通过所述dto层组装所述随机数和预先设定的接口参数,生成接口入参。
请求执行模块303包括执行子模块、返回子模块和断言子模块,执行子模块用于基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果;返回子模块用于将所述最终执行结果返回至所述第一接口,并通过所述第一接口将所述最终执行结果返回至所述测试用例层;断言子模块用于通过所述测试用例层调用预设的工具层中的断言工具,断言所述最终执行结果,获得断言结果以完成接口测试。
在本实施例的一些可选的实现方式中,上述执行子模块还用于:当所述主执行策略调用的所述副执行策略为一个时,获得最终执行结果,当所述主执行策略调用的所述副执行策略为多个时,依次执行所述副执行策略,其中,每执行一个副执行策略,获得一个中间执行结果,将所述中间执行结果返回至第一接口,当接收到所述第一接口返回的继续执行指令时,执行下一个副执行策略,直至执行完当前主执行策略调用的所有副执行策略,获得最终执行结果。
所述第一接口包括第一主执行策略、第二主执行策略和第三主执行策略,所述第二接口包括第一副执行策略、第二副执行策略和第三副执行策略,执行子模块还包括识别单元、加密单元、日志对比单元和通知类日志对比单元。识别单元用于识别所述测试目的;加密单元用于当所述测试目的为参数加密时,调用所述第一接口中的第一主执行策略,通过所述第一主执行策略调用所述第二接口中的第一副执行策略执行参数加密,获得最终执行结果;日志对比单元用于当所述测试目的为日志对比时,调用所述第一接口中的第二主执行策略,通过所述第二主执行策略调用第二接口中的第一副执行策略和第二副执行策略,分别依次执行参数加密和日志对比,获得中间执行结果和最终执行结果;通知类日志对比单元用于当所述测试目的为通知类日志对比时,调用所述第一接口中的第三主执行策略,通过所述第三主执行策略调用所述第二接口中的第一副执行策略、第二副执行策略和第三副执行策略,分别依次执行参数加密、日志对比和通知类日志对比,获得中间执行结果和最终执行结果。
所述通知类日志对比单元包括调用子单元、查询子单元和比对子单元。调用子单元用于当所述测试目的为日志对比时,调用第二主执行策略向所述第二接口发送日志对比请求;查询子单元用于通过所述第二接口中的第一副执行策略调用预设的工具层中的日记提取工具类,基于预设的请求流水号进行日志查询,获得接口日志,将所述接口日志作为中间执行结果,返回至所述第一接口;比对子单元用于当接收到所述第一接口发送的继续执行指令时,通过所述第二副执行策略获取所述接口日志中调用关联方接口的参数,比对所述调用关联方接口的参数与所述接口入参,获得日志比对结果,作为所述最终执行结果。
在本实施例的一些可选的实现方式中,上述比对子单元模块进一步用于:通过预设的正则表达式匹配所述接口日志,获得所述接口日志中调用关联方接口的参数;比较所述调用关联方接口的参数与所述接口入参的key是否相同;当key相同时,比较对应的value是否一致,获得日志比对结果。
通过单独设置的dto层实现接口入参的独立生成,再将生成的接口入参传输至测试用例层,避免了每次接口的参数改变时,需要对应修改测试策略,导致测试策略复用性低的情况。本申请在需要修改接口的参数时,只需要修改dto层中接口入参的生成方法,不需要修改测试用例层,有效的提高了测试用例层中的测试策略的复用性,提升了测试效率。区别于现有技术的每一步执行过程需要调用对应的API,本申请将执行过程根据测试目的的不同,调用API层中不同的执行策略。提升了整体测试过程的简洁性,可理解性,实现了测试过程的快速执行。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备200包括通过***总线相互通信连接存储器201、处理器202、网络接口203。需要指出的是,图中仅示出了具有组件201-203的计算机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器201至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器201可以是所述计算机设备200的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中,所述存储器201也可以是所述计算机设备200的外部存储设备,例如该计算机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器201还可以既包括所述计算机设备200的内部存储单元也包括其外部存储设备。本实施例中,所述存储器201通常用于存储安装于所述计算机设备200的操作***和各类应用软件,例如接口自动化测试方法的计算机可读指令等。此外,所述存储器201还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器202在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器202通常用于控制所述计算机设备200的总体操作。本实施例中,所述处理器202用于运行所述存储器201中存储的计算机可读指令或者处理数据,例如运行所述接口自动化测试方法的计算机可读指令。
所述网络接口203可包括无线网络接口或有线网络接口,该网络接口203通常用于在所述计算机设备200与其他电子设备之间建立通信连接。
在本实施例中,无需修改测试用例层,有效的提高了测试用例层中的测试策略的复用性,提升了测试效率。同时根据测试目的的不同,调用API层中不同的执行策略,提升了整体测试过程的简洁性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的接口自动化测试方法的步骤。
在本实施例中,无需修改测试用例层,有效的提高了测试用例层中的测试策略的复用性,提升了测试效率。同时根据测试目的的不同,调用API层中不同的执行策略,提升了整体测试过程的简洁性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种接口自动化测试方法,其特征在于,包括下述步骤:
在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参;
基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的;
基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试。
2.根据权利要求1所述的接口自动化测试方法,其特征在于,所述API层中包括第一接口和第二接口,所述第一接口中封装有不同的主执行策略,所述第二接口中封装有不同的副执行策略,所述基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试的步骤包括:
基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果;
将所述最终执行结果返回至所述第一接口,并通过所述第一接口将所述最终执行结果返回至所述测试用例层;
通过所述测试用例层调用预设的工具层中的断言工具,断言所述最终执行结果,获得断言结果以完成接口测试。
3.根据权利要求2所述的接口自动化测试方法,其特征在于,所述通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果的步骤包括:
当所述主执行策略调用的所述副执行策略为一个时,获得最终执行结果;
当所述主执行策略调用的所述副执行策略为多个时,依次执行所述副执行策略,其中,每执行一个副执行策略,获得一个中间执行结果,将所述中间执行结果返回至所述第一接口,当接收到所述第一接口返回的继续执行指令时,执行下一个副执行策略,直至执行完成当前主执行策略调用的所有副执行策略,获得最终执行结果。
4.根据权利要求2所述的接口自动化测试方法,其特征在于,所述第一接口包括第一主执行策略、第二主执行策略和第三主执行策略,所述第二接口包括第一副执行策略、第二副执行策略和第三副执行策略,基于所述测试目的,调用所述第一接口中对应的主执行策略,并通过所述主执行策略调用所述第二接口中对应的至少一个副执行策略执行所述接口请求,获得最终执行结果的步骤包括:
识别所述测试目的;
当所述测试目的为参数加密时,调用所述第一接口中的第一主执行策略,通过所述第一主执行策略调用所述第二接口中的第一副执行策略执行参数加密,获得最终执行结果;
当所述测试目的为日志对比时,调用所述第一接口中的第二主执行策略,通过所述第二主执行策略调用第二接口中的第一副执行策略和第二副执行策略,分别依次执行参数加密和日志对比,获得中间执行结果和最终执行结果;
当所述测试目的为通知类日志对比时,调用所述第一接口中的第三主执行策略,通过所述第三主执行策略调用所述第二接口中的第一副执行策略、第二副执行策略和第三副执行策略,分别依次执行参数加密、日志对比和通知类日志对比,获得中间执行结果和最终执行结果。
5.根据权利要求1所述的接口自动化测试方法,其特征在于,所述dto层包括不同的dto类,所述dto类中具有不同的参数生成策略,所述在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参的步骤包括:
在接收到用户发送的测试指令时,确定所述测试指令对应的测试目标用户和测试目的;
基于测试用例层调用预设的dto层;
基于所述测试目标用户选择对应的dto类,其中,所述测试目标用户与所述dto类为一一对应关系;
基于所述测试目的确定所述dto类中对应的参数生成策略,通过所述参数生成策略生成接口入参。
6.根据权利要求5所述的接口自动化测试方法,其特征在于,所述参数生成策略包括组装策略,所述通过所述参数生成策略生成接口入参的步骤包括:
当基于所述测试目的确定的所述dto类中对应的参数生成策略为组装策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层组装所述接口参数,生成接口入参。
7.根据权利要求5所述的接口自动化测试方法,其特征在于,所述参数生成策略包括随机生成策略,所述通过所述参数生成策略生成接口入参的步骤包括:
当基于所述测试目的确定的所述dto类中对应的参数生成策略为随机生成策略时,基于所述测试目的获取预先设置的接口参数,并通过所述dto层调用预设的工具层中的随机数生成工具;
获取时间戳,基于所述随机数生成工具根据时间戳生成随机数,通过所述dto层组装所述随机数和预先设定的接口参数,生成接口入参。
8.一种接口自动化测试装置,其特征在于,包括:
参数生成模块,用于在接收到用户发送的测试指令时,确定所述测试指令对应的测试目的,基于测试用例层调用预设的dto层,并基于所述测试目的通过所述dto层生成接口入参;
请求发送模块,用于基于所述测试用例层获取所述接口入参,并基于所述接口入参生成接口请求,所述接口请求携带所述测试目的;
请求执行模块,用于基于所述测试目的,调用预设的API层中与所述测试目的对应的执行策略执行所述接口请求,完成接口测试。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的接口自动化测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的接口自动化测试方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232732.5A CN112328486A (zh) | 2020-11-06 | 2020-11-06 | 接口自动化测试方法、装置、计算机设备及存储介质 |
PCT/CN2021/109474 WO2022095518A1 (zh) | 2020-11-06 | 2021-07-30 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232732.5A CN112328486A (zh) | 2020-11-06 | 2020-11-06 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328486A true CN112328486A (zh) | 2021-02-05 |
Family
ID=74316819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011232732.5A Pending CN112328486A (zh) | 2020-11-06 | 2020-11-06 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112328486A (zh) |
WO (1) | WO2022095518A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095518A1 (zh) * | 2020-11-06 | 2022-05-12 | 深圳壹账通智能科技有限公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086436B (zh) * | 2022-06-16 | 2023-05-26 | 平安银行股份有限公司 | Api间参数校验方法、装置、计算机设备及存储介质 |
CN115567455B (zh) * | 2022-09-23 | 2024-05-07 | 平安科技(深圳)有限公司 | 一种访问流量切换方法、装置、计算机设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495334A (zh) * | 2017-09-13 | 2019-03-19 | 杭州海康威视***技术有限公司 | 一种测试方法及装置 |
CN109558316A (zh) * | 2018-11-21 | 2019-04-02 | 武汉风行在线技术有限公司 | 一种测试策略自动化配置的http接口动态化参数测试方法 |
US10452522B1 (en) * | 2015-06-19 | 2019-10-22 | Amazon Technologies, Inc. | Synthetic data generation from a service description language model |
CN110389898A (zh) * | 2019-06-19 | 2019-10-29 | 深圳壹账通智能科技有限公司 | 测试策略的获取方法、装置、终端及计算机可读存储介质 |
CN110990269A (zh) * | 2019-11-26 | 2020-04-10 | 苏宁云计算有限公司 | 一种接口测试的方法、装置及*** |
CN111143192A (zh) * | 2019-11-28 | 2020-05-12 | 叮当快药科技集团有限公司 | 接口自动化测试方法、装置以及相关产品 |
CN111190808A (zh) * | 2018-11-14 | 2020-05-22 | 北京京东尚科信息技术有限公司 | 自动化测试方法、***、装置和计算机可读存储介质 |
CN111679989A (zh) * | 2020-06-16 | 2020-09-18 | 贝壳技术有限公司 | 接口健壮性测试方法、装置、电子设备及存储介质 |
CN111782546A (zh) * | 2020-07-23 | 2020-10-16 | 北京斗米优聘科技发展有限公司 | 一种基于机器学习的自动接口测试方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949673B2 (en) * | 2012-05-23 | 2015-02-03 | Sap Se | Software systems testing interface |
CN109783350A (zh) * | 2018-12-13 | 2019-05-21 | 重庆金融资产交易所有限责任公司 | 接口测试方法、装置及计算机可读存储介质 |
CN112328486A (zh) * | 2020-11-06 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
-
2020
- 2020-11-06 CN CN202011232732.5A patent/CN112328486A/zh active Pending
-
2021
- 2021-07-30 WO PCT/CN2021/109474 patent/WO2022095518A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452522B1 (en) * | 2015-06-19 | 2019-10-22 | Amazon Technologies, Inc. | Synthetic data generation from a service description language model |
CN109495334A (zh) * | 2017-09-13 | 2019-03-19 | 杭州海康威视***技术有限公司 | 一种测试方法及装置 |
CN111190808A (zh) * | 2018-11-14 | 2020-05-22 | 北京京东尚科信息技术有限公司 | 自动化测试方法、***、装置和计算机可读存储介质 |
CN109558316A (zh) * | 2018-11-21 | 2019-04-02 | 武汉风行在线技术有限公司 | 一种测试策略自动化配置的http接口动态化参数测试方法 |
CN110389898A (zh) * | 2019-06-19 | 2019-10-29 | 深圳壹账通智能科技有限公司 | 测试策略的获取方法、装置、终端及计算机可读存储介质 |
CN110990269A (zh) * | 2019-11-26 | 2020-04-10 | 苏宁云计算有限公司 | 一种接口测试的方法、装置及*** |
CN111143192A (zh) * | 2019-11-28 | 2020-05-12 | 叮当快药科技集团有限公司 | 接口自动化测试方法、装置以及相关产品 |
CN111679989A (zh) * | 2020-06-16 | 2020-09-18 | 贝壳技术有限公司 | 接口健壮性测试方法、装置、电子设备及存储介质 |
CN111782546A (zh) * | 2020-07-23 | 2020-10-16 | 北京斗米优聘科技发展有限公司 | 一种基于机器学习的自动接口测试方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095518A1 (zh) * | 2020-11-06 | 2022-05-12 | 深圳壹账通智能科技有限公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022095518A1 (zh) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090351B (zh) | 用于处理请求消息的方法和装置 | |
CN112328486A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN113268336B (zh) | 一种服务的获取方法、装置、设备以及可读介质 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112181835A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112631884A (zh) | 基于数据同步的压测方法、装置、计算机设备及存储介质 | |
CN112966304B (zh) | 流程文档的防篡改方法、装置、计算机设备及介质 | |
CN114281552A (zh) | 一种基于有向无环图的任务调度方法、装置、设备及介质 | |
CN113709181A (zh) | 基于浏览器插件的网站登录方法、装置、设备及存储介质 | |
CN116956326A (zh) | 权限数据的处理方法、装置、计算机设备及存储介质 | |
CN112860662A (zh) | 数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN114021175B (zh) | 用户画像的配置方法、装置、计算机设备及介质 | |
CN115378806A (zh) | 流量分配方法、装置、计算机设备及存储介质 | |
CN112416875B (zh) | 日志管理方法、装置、计算机设备及存储介质 | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN112182107A (zh) | 名单数据获取方法、装置、计算机设备及存储介质 | |
CN117094827A (zh) | 数据生成方法、装置、计算机设备及存储介质 | |
CN117827814A (zh) | 数据校验方法、装置、计算机设备及存储介质 | |
CN117278263A (zh) | 认证处理方法、装置、计算机设备及存储介质 | |
CN117235785A (zh) | 一种隐私信息管理方法、装置、计算机设备及存储介质 | |
CN117278510A (zh) | 消息发送方法、装置、计算机设备及存储介质 | |
CN117407420A (zh) | 数据构建方法、装置、计算机设备及存储介质 | |
CN115827047A (zh) | 请求处理方法、装置、计算机设备及存储介质 | |
CN116305074A (zh) | 一种基于权限配置的企业信息管理方法及其相关设备 | |
CN114238466A (zh) | 一种消息推送方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40045392 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240322 |
|
AD01 | Patent right deemed abandoned |