CN114817068A - 基于mock测试的接口测试方法、装置以及电子设备 - Google Patents
基于mock测试的接口测试方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN114817068A CN114817068A CN202210571973.5A CN202210571973A CN114817068A CN 114817068 A CN114817068 A CN 114817068A CN 202210571973 A CN202210571973 A CN 202210571973A CN 114817068 A CN114817068 A CN 114817068A
- Authority
- CN
- China
- Prior art keywords
- response
- test
- signature
- preset
- mock
- 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
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于mock测试的接口测试方法、装置以及电子设备,其中方法包括:接收客户端发送的测试指令,所述测试指令包括待测试接口信息;根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。本发明数据维护难度低、测试效率高。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种基于mock测试的接口测试方法、装置以及电子设备。
背景技术
目前,在对接外部系统进行软件开发中,涉及网络数据传输安全性,通常都会进行数据加密、签名传输。为了保证被测系统的稳定性和可靠性,软件开发和测试人员需要尽可能模拟外部系统的各种工作情况来进行测试,受到三方系统稳定性、可用性的制约,采用mock测试。mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
现有的mock加密需要开发或者测试人员通过额外的工具将响应明文进行加密或者加密并签名后生成响应密文,再配置到mock服务系统中,数据维护难度高、测试效率低。
发明内容
本发明实施例提供一种基于mock测试的接口测试方法、装置以及电子设备,以解决现有的mock加密需要开发或者测试人员通过额外的工具将响应明文进行加密或者加密并签名后生成响应密文,再配置到mock服务系统中,数据维护难度高、效率低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种基于mock测试的接口测试方法,包括:
接收客户端发送的测试指令,所述测试指令包括待测试接口信息;
根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;
根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;
将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。
可选地,
所述预设的加密配置包括测试流程;
接收到用户通过客户端发送的测试指令,之后包括:
提取所述预设的加密配置中的所述测试流程,并对所述测试流程中是否包含签名步骤进行识别;
若所述识别的识别结果为所述测试流程中包含签名步骤,则根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文,之后包括:
对所述响应密文进行签名,将完成签名的响应密文发送至所述客户端,使得所述客户端能够根据所述完成签名的响应密文对待测试接口进行mock测试。
可选地,
所述响应密文包括待签名字符段;
对所述响应密文进行签名,包括:
从所述服务端获取与所述测试指令对应的预设的签名规则,所述签名规则包括签名关键字以及签名方法;
根据所述签名关键字以及所述响应明文,生成待签名目标字符串;
采用所述签名方法对所述待签名目标字符串进行签名,得到签名后目标字符串;
采用所述签名后目标字符串替换所述待签名字符段,得到完成签名的响应密文。
可选地,
对所述响应密文进行签名,包括:
从所述服务端获取与所述测试指令对应的预设的签名规则,所述签名规则包括签名关键字以及签名方法;
根据所述签名关键字以及所述响应明文,生成待签名目标字符串;
根据所述签名方法对所述待签名目标字符串进行签名,得到签名后目标字符串;
将所述签名后目标字符串写入所述响应密文,得到完成签名的响应密文。
可选地,
所述预设的加密配置包括加密类型,所述测试指令包括秘钥查询ID,所述秘钥查询ID用于指示所述秘钥在数据库中的存储位置;
根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文,包括:
对所述预设的加密配置是否包括所述秘钥进行检测;
若所述检测的检测结果为所述预设的加密配置包括所述秘钥;根据所述秘钥以及所述加密类型对所述预设的响应明文进行加密,得到所述响应密文;
若所述检测的检测结果为所述预设的加密配置不包括所述秘钥;根据所述秘钥查询ID查询所述数据库,获取所述秘钥;根据所述秘钥以及所述加密类型对所述预设的响应明文进行加密,得到所述响应密文。
可选地,
接收到客户端发送的测试指令,包括:
采用mock测试平台接收所述客户端发送的测试指令。
可选地,
所述mock测试平台包括以下至少一项:WireMock、MockServer以及YApi。
第二方面,本发明实施例提供了一种基于mock测试的接口测试装置,包括:
接收模块,用于接收客户端发送的测试指令,所述测试指令包括待测试接口信息;
执行模块,用于根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;
所述执行模块,还用于根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;
所述执行模块,还用于将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。
第三方面,本发明实施例提供了一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面中任一项所述的基于mock测试的接口测试方法中的步骤。
第四方面,本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面中任一项所述的基于mock测试的接口测试方法中的步骤。
在本发明实施例中,通过接收客户端发送的测试指令,所述测试指令包括待测试接口信息;根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。本发明实施例通过避免开发或者测试人员通过额外的工具将响应明文进行加密或者签名后生成响应密文,再配置到mock服务系统中,数据维护难度低、测试效率高。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例基于mock测试的接口测试方法的流程示意图之一;
图2为加密辅助参数的示意图;
图3为本发明实施例基于mock测试的接口测试方法的流程示意图之二;
图4为本发明实施例基于mock测试的接口测试方法的流程示意图之三;
图5为本发明实施例基于mock测试的接口测试方法的流程示意图之四;
图6为本发明实施例基于mock测试的接口测试方法的流程示意图之五;
图7为应用本发明实施例基于mock测试的接口测试方法的测试流程示意图之一;
图8为为应用本发明实施例基于mock测试的接口测试方法的测试流程示意图之二;
图9为基于mock测试的接口测试装置的原理示意图;
图10为本发明实施例电子设备的内部结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于mock测试的接口测试方法,参见图1所示,图1为本发明实施例基于mock测试的接口测试方法的流程示意图之一,包括:
步骤11:接收客户端发送的测试指令,测试指令包括待测试接口信息;
步骤12:根据测试指令,从服务端获取与待测试接口信息对应的预设的响应明文以及与待测试接口信息对应的预设的加密配置;
步骤13:根据预设的加密配置对预设的响应明文进行加密,得到响应密文;
步骤14:将响应密文发送至客户端,使得客户端能够根据响应密文对待测试接口进行mock测试。
本发明的一些实施例中,示例性的,预设的加密配置可以通过stub录入模块设置:
stub录入模块,集成在基于WireMock的mock管理系统中,针对需要加密的接口mock测试要求,设计如下的mock stub配置规则,即要求mock stub配置时,包括请求匹配规则(request)、响应内容(response)2部分。其中,请求匹配规则部分,与常规接口无异,需要包括urlPath(接口路径,用于识别客户端发来的时间请求路径是否匹配)、method(请求方式,如GET,POST等)、headers(请求头,可选)、bodyPatterns(请求的body,可选);响应内容部分,则包括5部分内容:
1)status:http响应码,如200
2)headers:响应头,可选
3)jsonBody:响应体明文内容,json格式
4)transformers:加密处理函数名,数组格式。对于仅需要加密的配置为[“encrypt”],对于需要加密并签名的配置为[“encrypt-sign”]
5)transformerParameters:加密辅助参数,需要配置加密和签名用的所有参数,具体参见图2所示,图2为加密辅助参数的示意图。
在本发明实施例中,通过接收客户端发送的测试指令,所述测试指令包括待测试接口信息;根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。本发明实施例不需要开发或者测试人员通过额外的工具将响应明文进行加密或者签名后生成响应密文,再配置到mock服务系统中,数据维护难度低、测试效率高。
本发明的一些实施例中,可选地,预设的加密配置包括测试流程;参见图3所示,图3为本发明实施例基于mock测试的接口测试方法的流程示意图之二,接收到用户通过客户端发送的测试指令,之后包括:
步骤21:提取预设的加密配置中的测试流程,并对测试流程中是否包含签名步骤进行识别;
步骤22:若识别的识别结果为测试流程中包含签名步骤,则根据预设的加密配置对预设的响应明文进行加密,得到响应密文,之后包括:
对响应密文进行签名,将完成签名的响应密文发送至客户端,使得客户端能够根据完成签名的响应密文对待测试接口进行mock测试。
本发明的一些实施例中,可选地,响应密文包括待签名字符段;参见图4所示,图4为本发明实施例基于mock测试的接口测试方法的流程示意图之三,对响应密文进行签名,包括:
步骤31:从服务端获取与测试指令对应的预设的签名规则,签名规则包括签名关键字以及签名方法;
步骤32:根据签名关键字以及响应明文,生成待签名目标字符串;
步骤33:采用签名方法对待签名目标字符串进行签名,得到签名后目标字符串;
步骤34:采用签名后目标字符串替换待签名字符段,得到完成签名的响应密文。
示例性的,上述步骤31至步骤33可以分以下1)及2)完成:
1)待签名数据生成:逐个获取signKeys中的元素对应的值并组装成map;获取规则有3种:①响应获取:先从响应原文中获取,再从加密辅助参数中获取;②特判处理:对于timstamp、key等需做特判处理的字段,按照特判规则生成;③加密处理:对加密的内容字段,从加密方法模块获取结果后写入。然后按照signKeys的顺序,生成待签名的字符串。例如"signKeys":"data,mess,timestamp,key",则最终重组后待签名的字符串为data=xxx&mess=xxx×tamp=xxx&key=xxx这种形式。
2)签名生成:根据signType签名方法中的值,分别调用不同的签名方法,传入待加密的字符串,生成签名后字符串。
本发明的一些实施例中,可选地,参见图5所示,图5为本发明实施例基于mock测试的接口测试方法的流程示意图之四,对响应密文进行签名,包括:
步骤41:从服务端获取与测试指令对应的预设的签名规则,签名规则包括签名关键字以及签名方法;
步骤42:根据签名关键字以及响应明文,生成待签名目标字符串;
步骤43:根据签名方法对待签名目标字符串进行签名,得到签名后目标字符串;
步骤44:将签名后目标字符串写入响应密文,得到完成签名的响应密文。
示例性的,上述步骤41至步骤43可以分以下1)及2)完成:
1)待签名数据生成:逐个获取signKeys中的元素对应的值并组装成map;获取规则有3种:①响应获取:先从响应原文中获取,再从加密辅助参数中获取;②特判处理:对于timstamp、key等需做特判处理的字段,按照特判规则生成;③加密处理:对加密的内容字段,从加密方法模块获取结果后写入。然后按照signKeys的顺序,生成待签名的字符串。例如"signKeys":"data,mess,timestamp,key",则最终重组后待签名的字符串为data=xxx&mess=xxx×tamp=xxx&key=xxx这种形式。
2)签名生成:根据signType签名方法中的值,分别调用不同的签名方法,传入待加密的字符串,生成签名后字符串。
本发明的一些实施例中,可选地,预设的加密配置包括加密类型,测试指令包括秘钥查询ID,秘钥查询ID用于指示秘钥在数据库中的存储位置;
参见图6所示,图6为本发明实施例基于mock测试的接口测试方法的流程示意图之五,根据预设的加密配置对预设的响应明文进行加密,得到响应密文,包括:
步骤51:对预设的加密配置是否包括秘钥进行检测;
步骤52:若检测的检测结果为预设的加密配置包括秘钥;根据秘钥以及加密类型对预设的响应明文进行加密,得到响应密文;
步骤53:若检测的检测结果为预设的加密配置不包括秘钥;根据秘钥查询ID查询数据库,获取秘钥;根据秘钥以及加密类型对预设的响应明文进行加密,得到响应密文。
本发明的一些实施例中,可选地,
接收到客户端发送的测试指令,包括:
采用mock测试平台接收所述客户端发送的测试指令。
本发明的一些实施例中,可选地,
mock测试平台包括以下至少一项:WireMock、MockServer以及YApi。
WireMock是一个开源的HTTP mock测试服务器,其核心是一个可以捕获传入的请求并进行规则校验后返回特定响应的web服务器。此外,WireMock还提供多种功能,如录制/回放与其他API的交互过程、故障注入、延迟模拟、有状态行为模拟等。WireMock即可以作为独立进程运行,也可以jar包的形式引入代码中,且支持多种插件进行功能扩展。
MockServer也是一个开源的HTTP mock测试服务器,具有规则灵活、定制化强、支持拓展多协议的特点,可以同时支持接口mock和请求代理(透传)的功能。MockServer使用方式非常多样,其既可以独立部署,也可以maven插件或者npm包等形式引入项目代码中。
YApi是一个API接口管理平台,其也提供Mock测试服务器功能,可以根据用户的输入接口信息生成Mock接口,并自动生成模拟数据,创建者可以自由构造需要的数据。其高级mock功能,支持填写多组期望,且支持自定义mock脚本。
示例性的,参见图7所示,图7为应用本发明实施例基于mock测试的接口测试方法的测试流程示意图之一;参见图8所示,图8为为应用本发明实施例基于mock测试的接口测试方法的测试流程示意图之二,其中,各模块技术实现如下:
1.stub录入模块:
该模块集成在基于WireMock的mock管理系统中,针对需要加密的接口mock测试要求,设计如下的mock stub配置规则,即要求mock stub配置时,包括请求匹配规则(request)、响应内容(response)2部分。其中,请求匹配规则部分,与常规接口无异,需要包括urlPath(接口路径,用于识别客户端发来的时间请求路径是否匹配)、method(请求方式,如GET, POST等)、headers(请求头,可选)、bodyPatterns(请求的body,可选);响应内容部分,则包括5部分内容:
1)status:http响应码,如200
2)headers:响应头,可选
3)jsonBody:响应体明文内容,json格式
4)transformers:加密处理函数名,数组格式。对于仅需要加密的配置为[“encrypt”],对于需要加密并签名的配置为[“encrypt-sign”]
5)transformerParameters:加密辅助参数,该部分是重点部分,需要配置加密和签名用的所有参数,具体参见图2所示,图2为加密辅助参数的示意图。
2.流程解析模块:
该模块通过继承WireMock的responseTransformer类实现。
通过自定义的2个responseTransformer类,分别实现2种加密接口mock的测试流程,并重写getName方法进行区分。
其中,一个类命名为encrypt,配置流程为加密参数解析、加密、响应重组,用于处理仅需要响应加密的mock测试;另一个类命名为encrypt-sign,配置流程为加密参数解析、加密、签名、响应重组,用于处理需要加密并签名的mock测试。为保证系统的灵活性,2个自定义类函数设置为非全局应用。
然后,在mock服务的启动命令中,以插件方式导入自定义的responseTransformer,从而实现mock接口调用时,能够自动识别mock stub中配置的加密处理函数名(transformer)并调用对应的模块进行加密或加密加签处理。
3.加密参数解析模块:
该模块是对stub录入模块中的响应里加密辅助参数(transformerParameters)的解析,主要解析4部分内容:待加密的原文、秘钥、加密类型、签名规则,具体如下:
1)待加密的原文:解析contentKey的内容,然后将该内容作为key,然后从响应的jsonBody中获取对应的内容,作为待加密的原文;
2)秘钥:分2种情况处理。情形1-根据秘钥查询id获取:解析到秘钥查询id,即dealerId,则忽略加密用的秘钥key、应用秘钥appKey、应用签名私钥privateKey这3部分内容,并进一步调用秘钥配置子模块通过数据库查询该id对应的秘钥;情形2-直接读取秘钥:未解析到dealerId,则解析加密用的秘钥key、应用秘钥appKey(仅加密并加签时需要解析)、应用签名私钥privateKey(仅加密并加签时需要解析)。
3)加密类型:解析method参数,然后传递到3.加密方法模块,后续用于加密;
4)签名规则:加密处理函数名解析signType签名方法、signKeys签名顺序等参数,传递到4.签名方法模块,后续用于签名。其中signKeys中是数组形式,数组中每个元素对应一个加签用的key。
4.加密方法模块:
该模块是stub录入模块中的响应内容里加密辅助参数(transformerParameters)中配置的加密方法method的具体实现。根据传入的加密方法不同,分别调用不同的加密方法,将传入的待加密原文进行加密处理。
5.签名方法模块:
该模块加密参数解析模块中解析后的签名规则结果进行签名处理,仅对包括2个步骤:
1)待签名数据生成:逐个获取signKeys中的元素对应的值并组装成map;
获取规则有3种:①响应获取:先从响应原文中获取,再从加密辅助参数中获取;②特判处理:对于timstamp、key等需做特判处理的字段,按照特判规则生成;③加密处理:对加密的内容字段,从加密方法模块获取结果后写入。然后按照signKeys的顺序,生成待签名的字符串。例如"signKeys":"data,mess,timestamp,key",则最终重组后待签名的字符串为data=xxx&mess=xxx×tamp=xxx&key=xxx这种形式。
2)签名生成:根据signType签名方法中的值,分别调用不同的签名方法,传入待加密的字符串,生成签名后字符串。
6.响应重组模块:
该模块获取到响应明文,根据配置的transformer分别处理。对于仅需要加密的mock stub,用3.加密方法模块生成的加密内容替换对应的明文响应内容,组合成新的响应返回给客户端。对于需要加密并签名的mock stub,除替换加密内容外,还将4.签名方法模块生成的签名内容替换到对应的签名字段部分。如果原明文响应中没有指定签名字段,则默认在原响应明文中追加“sign”字段并写入签名内容、追加“signType”字段写入实际的签名方法再将组合生成的实际响应返回给客户端。
本发明实施例提供了一种基于mock测试的接口测试装置,参见图9所示,图9为基于mock测试的接口测试装置的原理示意图,基于mock测试的接口测试装置90包括:
接收模块91,用于接收客户端发送的测试指令,测试指令包括待测试接口信息;
执行模块92,用于根据测试指令,从服务端获取与待测试接口信息对应的预设的响应明文以及与待测试接口信息对应的预设的加密配置;
执行模块92,还用于根据预设的加密配置对预设的响应明文进行加密,得到响应密文;
执行模块92,还用于将响应密文发送至客户端,使得客户端能够根据响应密文对待测试接口进行mock测试。
本发明的一些实施例中,可选地,
所述预设的加密配置包括测试流程;
接收模块91,还用于提取所述预设的加密配置中的所述测试流程,并对所述测试流程中是否包含签名步骤进行识别;
执行模块92,还用于若所述识别的识别结果为所述测试流程中包含签名步骤,对所述响应密文进行签名,将完成签名的响应密文发送至所述客户端,使得所述客户端能够根据所述完成签名的响应密文对待测试接口进行mock测试。
本发明的一些实施例中,可选地,
所述响应密文包括待签名字符段;
执行模块92,还用于从所述服务端获取与所述测试指令对应的预设的签名规则,所述签名规则包括签名关键字以及签名方法;
执行模块92,还用于根据所述签名关键字以及所述响应明文,生成待签名目标字符串;
执行模块92,还用于采用所述签名方法对所述待签名目标字符串进行签名,得到签名后目标字符串;
执行模块92,还用于采用所述签名后目标字符串替换所述待签名字符段,得到完成签名的响应密文。
本发明的一些实施例中,可选地,
执行模块92,还用于从所述服务端获取与所述测试指令对应的预设的签名规则,所述签名规则包括签名关键字以及签名方法;
执行模块92,还用于根据所述签名关键字以及所述响应明文,生成待签名目标字符串;
执行模块92,还用于根据所述签名方法对所述待签名目标字符串进行签名,得到签名后目标字符串;
执行模块92,还用于将所述签名后目标字符串写入所述响应密文,得到完成签名的响应密文。
本发明的一些实施例中,可选地,
执行模块92,还用于所述预设的加密配置包括加密类型,所述测试指令包括秘钥查询ID,所述秘钥查询ID用于指示所述秘钥在数据库中的存储位置;
执行模块92,还用于根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文,包括:
执行模块92,还用于对所述预设的加密配置是否包括所述秘钥进行检测;
执行模块92,还用于若所述检测的检测结果为所述预设的加密配置包括所述秘钥;根据所述秘钥以及所述加密类型对所述预设的响应明文进行加密,得到所述响应密文;
执行模块92,还用于若所述检测的检测结果为所述预设的加密配置不包括所述秘钥;根据所述秘钥查询ID查询所述数据库,获取所述秘钥;根据所述秘钥以及所述加密类型对所述预设的响应明文进行加密,得到所述响应密文。
本发明的一些实施例中,可选地,
接收模块91,还用于采用mock测试平台接收所述客户端发送的测试指令。
本申请实施例提供的基于mock测试的接口测试装置能够实现图1至图8的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例提供了一种电子设备100,参见图10所示,图10为本发明实施例电子设备100的内部结构示意图,包括处理器101,存储器102及存储在存储器102上并可在处理器101上运行的程序或指令,程序或指令被处理器执行时实现本发明的任一项基于mock测试的接口测试方法中的步骤。
本发明实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如上述任一项的基于mock测试的接口测试方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述的可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种基于mock测试的接口测试方法,其特征在于,包括:
接收客户端发送的测试指令,所述测试指令包括待测试接口信息;
根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;
根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;
将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。
2.根据权利要求1所述的基于mock测试的接口测试方法,其特征在于:
所述预设的加密配置包括测试流程;
接收到用户通过客户端发送的测试指令,之后包括:
提取所述预设的加密配置中的所述测试流程,并对所述测试流程中是否包含签名步骤进行识别;
若所述识别的识别结果为所述测试流程中包含签名步骤,则根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文,之后包括:
对所述响应密文进行签名,将完成签名的响应密文发送至所述客户端,使得所述客户端能够根据所述完成签名的响应密文对待测试接口进行mock测试。
3.根据权利要求2所述的基于mock测试的接口测试方法,其特征在于:
所述响应密文包括待签名字符段;
对所述响应密文进行签名,包括:
从所述服务端获取与所述测试指令对应的预设的签名规则,所述签名规则包括签名关键字以及签名方法;
根据所述签名关键字以及所述响应明文,生成待签名目标字符串;
采用所述签名方法对所述待签名目标字符串进行签名,得到签名后目标字符串;
采用所述签名后目标字符串替换所述待签名字符段,得到完成签名的响应密文。
4.根据权利要求2所述的基于mock测试的接口测试方法,其特征在于:
对所述响应密文进行签名,包括:
从所述服务端获取与所述测试指令对应的预设的签名规则,所述签名规则包括签名关键字以及签名方法;
根据所述签名关键字以及所述响应明文,生成待签名目标字符串;
根据所述签名方法对所述待签名目标字符串进行签名,得到签名后目标字符串;
将所述签名后目标字符串写入所述响应密文,得到完成签名的响应密文。
5.根据权利要求1所述的基于mock测试的接口测试方法,其特征在于:
所述预设的加密配置包括加密类型,所述测试指令包括秘钥查询ID,所述秘钥查询ID用于指示所述秘钥在数据库中的存储位置;
根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文,包括:
对所述预设的加密配置是否包括所述秘钥进行检测;
若所述检测的检测结果为所述预设的加密配置包括所述秘钥;根据所述秘钥以及所述加密类型对所述预设的响应明文进行加密,得到所述响应密文;
若所述检测的检测结果为所述预设的加密配置不包括所述秘钥;根据所述秘钥查询ID查询所述数据库,获取所述秘钥;根据所述秘钥以及所述加密类型对所述预设的响应明文进行加密,得到所述响应密文。
6.根据权利要求1所述的基于mock测试的接口测试方法,其特征在于:
接收到客户端发送的测试指令,包括:
采用mock测试平台接收所述客户端发送的测试指令。
7.根据权利要求6所述的基于mock测试的接口测试方法,其特征在于:
所述mock测试平台包括以下至少一项:WireMock、MockServer以及YApi。
8.一种基于mock测试的接口测试装置,其特征在于,包括:
接收模块,用于接收客户端发送的测试指令,所述测试指令包括待测试接口信息;
执行模块,用于根据所述测试指令,从服务端获取与所述待测试接口信息对应的预设的响应明文以及与所述待测试接口信息对应的预设的加密配置;
所述执行模块,还用于根据所述预设的加密配置对所述预设的响应明文进行加密,得到响应密文;
所述执行模块,还用于将所述响应密文发送至所述客户端,使得所述客户端能够根据所述响应密文对待测试接口进行mock测试。
9.一种电子设备,其特征在于:包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的基于mock测试的接口测试方法中的步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的基于mock测试的接口测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210571973.5A CN114817068A (zh) | 2022-05-25 | 2022-05-25 | 基于mock测试的接口测试方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210571973.5A CN114817068A (zh) | 2022-05-25 | 2022-05-25 | 基于mock测试的接口测试方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817068A true CN114817068A (zh) | 2022-07-29 |
Family
ID=82516552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210571973.5A Pending CN114817068A (zh) | 2022-05-25 | 2022-05-25 | 基于mock测试的接口测试方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817068A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
CN111159053A (zh) * | 2020-01-02 | 2020-05-15 | 中国银行股份有限公司 | 一种测试方法、装置及存储介质 |
CN112688784A (zh) * | 2020-12-23 | 2021-04-20 | 安徽中科美络信息技术有限公司 | 一种数字签名、验证方法、装置及系统 |
CN112783787A (zh) * | 2021-02-04 | 2021-05-11 | 中国工商银行股份有限公司 | 接口测试方法、装置、系统和电子设备 |
CN113342670A (zh) * | 2021-06-22 | 2021-09-03 | 平安普惠企业管理有限公司 | 接口测试方法、装置、设备及介质 |
CN113553251A (zh) * | 2020-04-24 | 2021-10-26 | 苏州市龙测智能科技有限公司 | 一种应用于软件测试的mock测试方法 |
CN113986723A (zh) * | 2021-10-25 | 2022-01-28 | 土巴兔集团股份有限公司 | 一种mock测试方法及其相关设备 |
CN114003510A (zh) * | 2021-11-30 | 2022-02-01 | 平安付科技服务有限公司 | 基于Mock服务的脚本测试方法、装置、设备及介质 |
-
2022
- 2022-05-25 CN CN202210571973.5A patent/CN114817068A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
CN111159053A (zh) * | 2020-01-02 | 2020-05-15 | 中国银行股份有限公司 | 一种测试方法、装置及存储介质 |
CN113553251A (zh) * | 2020-04-24 | 2021-10-26 | 苏州市龙测智能科技有限公司 | 一种应用于软件测试的mock测试方法 |
CN112688784A (zh) * | 2020-12-23 | 2021-04-20 | 安徽中科美络信息技术有限公司 | 一种数字签名、验证方法、装置及系统 |
CN112783787A (zh) * | 2021-02-04 | 2021-05-11 | 中国工商银行股份有限公司 | 接口测试方法、装置、系统和电子设备 |
CN113342670A (zh) * | 2021-06-22 | 2021-09-03 | 平安普惠企业管理有限公司 | 接口测试方法、装置、设备及介质 |
CN113986723A (zh) * | 2021-10-25 | 2022-01-28 | 土巴兔集团股份有限公司 | 一种mock测试方法及其相关设备 |
CN114003510A (zh) * | 2021-11-30 | 2022-02-01 | 平安付科技服务有限公司 | 基于Mock服务的脚本测试方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8079017B2 (en) | Automated QS interface testing framework | |
US9390083B2 (en) | Identity propagation through application layers using contextual mapping and planted values | |
TW201633747A (zh) | 利用運行期代理器及網路探查器判定漏洞之技術 | |
Berger et al. | Extracting and analyzing the implemented security architecture of business applications | |
CN108459850B (zh) | 生成测试脚本的方法、装置及系统 | |
CN110659206A (zh) | 基于微服务的模拟架构建立方法、装置、介质及电子设备 | |
CN107172081A (zh) | 一种数据校验的方法和装置 | |
CN105138924A (zh) | 未登录状态下保存应用操作信息的方法和设备 | |
CN111858375B (zh) | 软件测试方法、装置、电子设备和介质 | |
US20160011951A1 (en) | Techniques for web service black box testing | |
CN110532779A (zh) | 一种漏洞检测的方法、装置、终端及存储介质 | |
CN110336770A (zh) | 远程监测漏洞的方法、装置、设备和存储介质 | |
CN110278272B (zh) | 模拟Socket请求的通用方法 | |
Hummer et al. | Testing of data‐centric and event‐based dynamic service compositions | |
US9043440B2 (en) | Automatic WSDL download of client emulation for a testing tool | |
KR102165037B1 (ko) | 코드 커버리지 측정 장치, 코드 커버리지 측정 장치의 코드 커버리지 측정 방법, 및 코드 커버리지 측정 시스템 | |
CN114817068A (zh) | 基于mock测试的接口测试方法、装置以及电子设备 | |
CN116361833A (zh) | 校验方法、装置及终端设备 | |
CN112994900B (zh) | 文件会签方法、装置、客户端、服务端和存储介质 | |
CN109656825A (zh) | 美术资源处理的方法及装置、电子设备、存储介质 | |
CN107977225A (zh) | 一种安全漏洞的统一描述方法和描述系统 | |
CN110019351A (zh) | 一种数据检测方法、装置及计算机可读存储介质 | |
von der Assen | DDoSGrid 2.0: Integrating and Providing Visualizations for the European DDoS Clearing House | |
CN111984543A (zh) | 指令测试方法、装置及系统 | |
CN113468001A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220729 |
|
RJ01 | Rejection of invention patent application after publication |