CN114978970B - 基于自定义mock平台的数据测试系统、方法、设备及介质 - Google Patents
基于自定义mock平台的数据测试系统、方法、设备及介质 Download PDFInfo
- Publication number
- CN114978970B CN114978970B CN202210364964.9A CN202210364964A CN114978970B CN 114978970 B CN114978970 B CN 114978970B CN 202210364964 A CN202210364964 A CN 202210364964A CN 114978970 B CN114978970 B CN 114978970B
- Authority
- CN
- China
- Prior art keywords
- data
- mock
- client
- custom
- switch
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 claims description 27
- 238000007726 management method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 238000013523 data management Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 9
- 238000009434 installation Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Abstract
本发明提供基于自定义mock平台的数据测试系统、方法、设备及介质,响应于用户操作而打开mock开关,以令所有网络请求被拦截;拦截所述网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向所述客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端。本发明无需配置或证书安装即可完成数据抓包;通过使用json编辑器管理mock数据,简单方便;数据请求和数据反馈可以分别设置mock开关,节省成本并缩短测试周期;提供日志功能,能够辅助排障;实时保存当前所有http/https请求,创建一个稳定的服务环境,方便复现问题;对mock数据进行聚合管理,预置多类场景,方便后续复用。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及基于自定义mock平台的数据测试系统、方法、设备及介质。
背景技术
在软件开发、测试过程中,相关工作人员需要对http/https请求进行抓包、分析服务器返回字段是否正确、mock不同数据对软件的各种不同使用场景进行覆盖测试、遇到问题后需要尝试复现,尽量找出必现路径。但是,目前市面上的几种工具比较简陋,只简单提供了基础的mock功能,难以满足需求,经常会出现以下几种问题:
(1)抓包工具操作麻烦且效率低,每次都需要手动输入ip地址;
(2)抓包获取到的信息冗余繁杂,开发和测试只想抓取当前测试项目的http/https信息;
(3)mock数据操作困难,代码侵入性强,不同的http/https请求,开发人员需要手动修改代码、重新编译,测试完后,代码还要再改回来,如果某个http/https请求忘记修改,会导致严重的使用问题。
(4)mock数据管理麻烦,要自己本地保存,不能自动存储归类,容易丢失;
(5)遇到难以重现的问题,只能一次次重试,但是可能因为配置或者环境不同等问题,bug难以复现。
因此,为解决上述技术问题,需要开发一种新的mock平台,基于该平台进行数据抓包、mock多种场景进行覆盖测试、复现问题、业务排障等等。
发明内容
有鉴于现有技术的上述缺陷,本发明提供基于自定义mock平台的数据测试系统、方法、设备及介质,用于解决现有测试系统在开发和测试过程中数据抓包、mock、排障困难等技术问题。
为实现上述目的,本发明提供了一种基于自定义mock平台的数据测试系统,包括:数据抓包模块,用于响应于用户操作而打开mock开关,以令所有网络请求被拦截;拦截服务器模块,用于拦截所述网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向所述客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端。
在本发明的较佳实施方式中,所述拦截服务器模块获取对应的客户端ID并判断当前客户端接口是否配置了mock数据的过程包括:向所述服务端发送访问令牌,以从所述服务端获取所述客户端的通讯ID;根据所述通讯ID及客户端接口名称,判断客户端接口是否配置了mock数据。
在本发明的另一较佳实施方式中,所述拦截服务器模块还用于将拦截到的网络请求通过WebSocket协议推送至所述数据抓包模块,供查看当前所有网络请求的信息以进行数据抓包。
在本发明的另一较佳实施方式中,还包括数据管理模块,用于显示每个网络请求的信息并管理mock数据。
在本发明的另一较佳实施方式中,所述数据管理模块还用于为每一条mock数据的数据请求和数据反馈分别设置一个mock开关;在进行数据测试时,打开数据请求的开关及关闭数据反馈的开关,以通过改变数据请求的值来改变测试环境,并进行不同环境下的数据测试。
在本发明的另一较佳实施方式中,所述数据管理模块还用于为每个客户端接口创建多条mock数据,以适应不同的测试场景。
在本发明的另一较佳实施方式中,还包括用户管理模块,用于管理用户客户端的通讯ID及每个通讯ID下的mock数据,以通过添加多个通讯ID进行多设备的并行测试。
在本发明的另一较佳实施方式中,还包括场景管理模块,用于将网络请求或mock数据进行分类管理以聚合成对应场景,以通过同一场景下其它网络请求或mock数据来对本条网络请求或mock数据进行问题复现。
在本发明的另一较佳实施方式中,还包括日志管理模块,用于将业务流程日志、错误日志及难以抓包的信息推送给数据抓包模块。
为实现上述目的,本发明提供了一种基于自定义mock平台的数据测试方法,包括:响应于用户操作而打开mock开关,以令所有网络请求被拦截;在拦截所述网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向所述客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端。
为实现上述目的,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述基于自定义mock平台的数据测试方法。
为实现上述目的,本发明提供了一种计算机设备,包括处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行所述基于自定义mock平台的数据测试方法。
本发明提供基于自定义mock平台的数据测试系统、方法、设备及介质,具有以下技术效果:
1)本发明中的数据抓包无需任何配置,也不需要安装证书,通过拦截器和WebSocket推送能力,可实现对http/https的抓包功能。
2)本发明在抓包基础上,使用json编辑器,直接修改请求、返回数据、创建mock数据,图形化界面操作简单方便。
3)本发明可一键切换mock环境与真实环境,单条mock数据与真实数据,多种场景数据可进行对比,方便复现问题。
4)数据请求和数据反馈可以分别设置mock开关,方便用户测试不同数据请求对应的数据反馈,节省测试成本并缩短测试周期。
5)提供日志功能,方便清理业务流程的同时,对一些特殊场景的查错也有很大帮助。
6)可实时保存当前所有http/https请求,创建一个稳定的服务环境,方便复现问题。
7)可对mock数据进行聚合管理,预置多类场景进行保存,方便后续复用。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明实施例中的一种基于自定义mock平台的数据测试系统的结构示意图。
图2是本发明实施例中的mock开关的逻辑图。
图3是本发明实施例中的拦截服务器模块的数据处理逻辑图。
图4是本发明实施例中基于自定义mock平台的数据测试方法的流程示意图。
图5是本发明实施例中的计算机设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了阐释的目的而描述了本发明的一些示例性实施例,需要理解的是,本发明可通过附图中没有具体示出的其他方式来实现。
本发明提供一种基于自定义mock平台的数据测试系统、方法、设备及介质,旨在辅助解决现有测试系统在开发、测试过程中抓包、mock、排障困难的技术难题。下文,将结合具体的实施例对本发明的技术方案做详尽的解释说明。
如图1所示,展示了本发明实施例中的一种基于自定义mock平台的数据测试系统的结构示意图。本实施例中基于自定义mock平台的数据测试系统分别连接客户端和服务器端,旨在客户端和服务器端之间搭建拦截服务,用于拦截并处理http/https请求。
具体而言,本实施例基于自定义mock平台的数据测试系至少包括数据抓包模块101和拦截服务器模块102。
所述数据抓包模块101用于响应于用户操作而打开mock开关,以令所有网络请求被所述拦截服务器模块102所拦截。
所述拦截服务器模块102在拦截网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向所述客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端。
应理解,mock测试是指在测试过程中,对于某些不容易构造或者不容易获取的对象,创建一个虚拟对象以便测试的测试方法,这个虚拟对象就是mock对象,mock对象可以理解为真实对象在调试期间的替代品。
在mock测试中,配置mock开关来拦截网络请求,用户可通过登录数据抓包页面打开mock开关,实现当前项目的所有http/https请求都会被拦截服务所拦截,这里的mock开关相当于大开关,控制当前项目的所有网络请求是否会被拦截。除此之外,当前项目中的每一条mock数据本身也可单独设置mock开关,这里的mock开关相当于小开关,只有在这条mock数据的开关开启时,这条mock数据才会被拦截,从而实现更细颗粒度的mock数据控制。
另外,客户端接口配置mock数据但不一定每次都会使用mock数据,因此客户端接口通过设置mock开关来决定本次是否需要使用mock数据;若客户端接口配置了mock数据但mock开关是关闭的,则说明客户端接口当前不需要使用mock数据;若客户端接口配置了mock数据且mock开关是打开的,则说明客户端接口当前需要使用mock数据。
为便于本领域技术人员更好地理解mock开关的逻辑,本实施例结合图2所展示的流程图做进一步的说明:首先,用户通过客户端登录数据抓包页面,打开mock开关,使当前项目的所有网络请求被拦截服务器模块所拦截。随后,拦截服务器模块判断当前客户端接口是否配置了mock数据且当前条mock数据的mock开关是否开启。若是,则从数据库中调取对应的mock数据并发送至客户端;若否,则发送网络请求至服务端,即真实服务器,在请求到真实数据后发送至客户端。
在本实施例中,所述拦截服务器模块102的拦截逻辑可归结为:从所述服务端获取所述客户端的通讯ID,以根据所述通讯ID及客户端接口名称,判断客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关开启,则从mock数据库中获取对应的mock数据并反馈至客户端,否则向所述服务端发送请求,并在接收到真实数据后反馈至客户端。
为进一步说明拦截器服务模块的数据处理逻辑,下文以基于token的拦截器为例并辅以图3的流程图来说明:
首先,拦截服务器模块拦截客户端发送的网络请求。
随后,拦截服务器模块向真实服务器发送访问令牌(token),真实服务器根据访问令牌(token)向拦截服务器模块发送当前客户端的通讯ID(手机号码)。
应理解,token是一种计算机术语,在计算机身份认证中是令牌的意思,在本实施例中访问真实服务器用到的是访问令牌;token类似于一种暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。Token是在客户端频繁向服务端数据请求,服务端频繁的去数据库查询用户名和密码并进行比对,判断用户名和密码正确与否,并作出相应提示;Token实际上是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个token便将此token返回给客户端,以后客户端只需带上这个token前来数据请求即可,无需再次带上用户名和密码。
接着,拦截服务器模块在接收到通讯ID后,根据当前客户端的通讯ID及当前接口名称,判断当前接口是否配置了mock数据。
若配置了mock数据,则继续判断当前条mock数据的mock开关是否开启。
若当前条mock数据的mock开关开启,则从mock数据库获取对应的mock数据,并将该mock数据反馈至客户端;
若当前接口未配置mock数据,则发送请求至真实服务器,以在请求到真实数据后发送至客户端。
若当前接口配置了mock数据但当前条mock数据的mock开关并未开启,则发送请求至真实服务器,以在请求到真实数据后发送至客户端。
在一些示例中,所述拦截服务器模块102还将拦截到的网络请求通过WebSocket协议推送给所述数据抓包模块101,供用户在数据抓包模块101的抓包页面查看当前所有网络请求的信息,进而实现抓包功能。
其中,WebSocket协议是一种独立且创建在TCP上的协议,旨在实现单个TCP连接上进行全双工通信的协议,WebSocket协议使得客户端和服务端之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。所谓“握手”是指为了创建WebSocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”。
值得注意的是,本发明实施例通过从mock数据库获取mock数据或者向真实服务器请求真实数据,实现一键切换mock环境与真实环境,单条mock数据与真实数据,多种场景数据可进行比对,方便复现问题。与此同时,通过拦截服务器模块和WebSocket推送能力,可实现对http/https请求的抓包功能,因此无需任何配置,也不需要安装任何证书,有效解决了过往抓包工具惯有的操作麻烦、效率低、需要手动输入IP地址等技术问题。
在一些示例中,所述基于自定义mock平台的数据测试系还包括数据管理模块103,用于显示每个网络请求的信息并管理mock数据。具体而言,数据管理模块103可使用JSON编辑器显示每个网络请求的数据请求(request)和数据反馈(response),并可对mock数据进行创建、修改、增加、删除、保存等操作。因此,本发明可实时保存当前所有http/https请求,创建一个稳定的服务环境,方便复现问题。
需说明的是,JSON是Java Script Object Notation的缩写,意为JavaScript对象标记法,其能将任何JavaScript对象转换为JSON,然后将JSON发送到服务器,也能把从服务器接收到的任何JSON转换为JavaScript对象。因此,本发明在抓包基础上,使用json编辑器,直接修改请求、返回数据、创建mock数据,图形化界面操作简单方便。
进一步地,所述数据管理模块103还用于为每一条mock数据提供开关。如果mock数据开启开关,那么拦截服务器模块102就会直接使用该mock数据返回给对应的客户端;如果mock数据关闭开关,那么拦截服务器模块102会去请求真实服务器请求对应的真实数据后返回给客户端。
进一步地,所述数据管理模块103还可用于为一条mock数据的数据请求(request)和数据反馈(response)分别设置一个mock开关,在测试时可以打开数据请求的开关,关闭数据反馈的开关,从而可实现测试不同的数据请求所返回的数据反馈是否正确。具体而言,在关闭数据反馈的开关后,可更改数据请求后向真实服务器发送请求,从真实服务器接收真实数据反馈,由于仅仅通过更改数据请求即可模拟真实场景下的测试,所以能够大大降低测试成本并缩短测试周期。
举例来说,在购卡套餐的测试过程中,各个城市的购卡套餐内容是不同的,若要测试真实服务器所返回的每个城市的套餐是否正确,需要定位在不同的城市,通常的测试方法需要实际场景在不同城市之间切换,导致测试成本高且测试周期长。运用本发明的技术方案后,打开数据请求的开关并关闭数据反馈的开关,通过在后台页面中更改数据请求(例如通过修改城市编码或者修改定位数据来更改城市),即可完成城市之间的切换,继而向真实服务器请求每个城市的数据反馈后进行测试,极为方便且节约成本。
在一些示例中,数据管理模块103可为每个客户端接口创建多条mock数据,以适应不同的测试场景;而在每次使用时每次仅使用其中的一条mock数据。举例来说,用户进入某页面后不点击任何按钮就弹出的弹窗与进入页面后点击某个按钮才弹出的弹窗,这两种弹窗对应于同一个接口,但是参数不同,此时需要根据request值返回对应的弹窗,所以这一个接口需要创建2条mock数据,用以根据不同的request值返回不同的response。
因此,本发明实施例在数据抓包的基础上,使用JSON编辑器,能够实现直接修改请求、返回数据、创建mock数据等功能,这种图形化界面操作简单方便又直观。
在一些示例中,所述基于自定义mock平台的数据测试系还包括用户管理模块104,用于管理用户的通讯ID及每个通讯ID下的mock数据。具体而言,通过用户管理模块104,用户可以添加或删除不同的测试手机号,方便多个设备并行测试,与此同时也可对不同手机号下的mock数据进行新增、删除、修改等一系列操作。
在一些示例中,基于自定义mock平台的数据测试系还包括场景管理模块105,用于将网络请求或mock数据进行分类管理,以聚合成对应场景,实现归类管理。通过使用场景管理模块105,可以预置多类场景进行保存,方便后续复用,对于难以复现bug的网络请求可通过相同场景下的其他网络请求来快速复现问题,因此可实现在类似场景下快速复现问题。
在一些示例中,基于自定义mock平台的数据测试系还包括日志管理模块106,用于将业务流程日志、错误日志及难以抓包的信息推送给数据抓包模块101的页面中。本发明提供的日志功能,方便清理业务流程的同时,对一些特殊场景的查错也有很大帮助,通过将这些信息展示于抓包页面中,实现对一些非常规的协议进行辅助测试和排障。
以蓝牙日志为例:客户端发送蓝牙日志到拦截服务器模块,拦截服务器模块会将蓝牙日志通过WebSocket推送到数据抓包平台展示给用户,达到类似抓包蓝牙协议信息的效果;与此同时,也可将业务流程日志、错误信息日志推送到数据抓包平台,辅助测试和排障。
如图4所示,展示了本发明实施例中的一种基于自定义mock平台的数据测试方法的流程示意图。本实施例中的数据测试方法主要包括S41和S42。
步骤S41:响应于用户操作而打开mock开关,以令所有网络请求被拦截。
在mock测试中,配置mock开关来拦截网络请求,用户可通过登录数据抓包页面打开mock开关,实现当前项目的所有http/https请求都会被拦截服务所拦截,这里的mock开关相当于大开关,控制当前项目的所有网络请求是否会被拦截。
步骤S42:在拦截所述网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向所述客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端。
应理解,当前项目中的每一条mock数据本身也可单独设置mock开关,这里的mock开关相当于小开关,只有在这条mock数据的开关开启时,这条mock数据才会被拦截,从而实现更细颗粒度的mock数据控制。
在一些示例中,基于自定义mock平台的数据测试方法还包括:将拦截到的网络请求通过WebSocket协议推送至数据抓包页面,供查看当前所有网络请求的信息以进行数据抓包。通过拦截服务器模块和WebSocket推送能力,可实现对http/https请求的抓包功能,因此无需任何配置,也不需要安装任何证书,有效解决了过往抓包工具惯有的操作麻烦、效率低、需要手动输入IP地址等技术问题。
在一些示例中,基于自定义mock平台的数据测试方法还包括:显示每个网络请求的信息并管理mock数据。具体而言,数据管理模块103可使用JSON编辑器显示每个网络请求的数据请求(request)和数据反馈(response),并可对mock数据进行创建、修改、增加、删除、保存等操作。需说明的是,JSON是Java Script Object Notation的缩写,意为JavaScript对象标记法,其能将任何JavaScript对象转换为JSON,然后将JSON发送到服务器,也能把从服务器接收到的任何JSON转换为JavaScript对象。
在一些示例中,基于自定义mock平台的数据测试方法还包括:为每一条mock数据的数据请求和数据反馈分别设置一个mock开关;在进行数据测试时,打开数据请求的开关及关闭数据反馈的开关,以通过改变数据请求的值来改变测试环境,并进行不同环境下的数据测试。
具体而言,在关闭数据反馈的开关后,可更改数据请求后向真实服务器发送请求,从真实服务器接收真实数据反馈,由于仅仅通过更改数据请求即可模拟真实场景下的测试,所以能够大大降低测试成本并缩短测试周期。举例来说,在购卡套餐的测试过程中,各个城市的购卡套餐内容是不同的,若要测试真实服务器所返回的每个城市的套餐是否正确,需要定位在不同的城市,通常的测试方法需要实际场景在不同城市之间切换,导致测试成本高且测试周期长。运用本发明的技术方案后,打开数据请求的开关并关闭数据反馈的开关,通过在后台页面中更改数据请求(例如通过修改城市编码或者修改定位数据来更改城市),即可完成城市之间的切换,继而向真实服务器请求每个城市的数据反馈后进行测试,极为方便且节约成本。
在一些示例中,所述基于自定义mock平台的数据测试方法还包括:为每个客户端接口创建多条mock数据,以适应不同的测试场景;而在每次使用时每次仅使用其中的一条mock数据。举例来说,用户进入某页面后不点击任何按钮就弹出的弹窗与进入页面后点击某个按钮才弹出的弹窗,这两种弹窗对应于同一个接口,但是参数不同,此时需要根据request值返回对应的弹窗,所以这一个接口需要创建2条mock数据,用以根据不同的request值返回不同的response。
因此,本发明实施例在数据抓包的基础上,使用JSON编辑器,能够实现直接修改请求、返回数据、创建mock数据等功能,这种图形化界面操作简单方便又直观。
在一些示例中,基于自定义mock平台的数据测试方法还包括:管理用户客户端的通讯ID及每个通讯ID下的mock数据,以通过添加多个通讯ID进行多设备的并行测试。具体而言,通过用户管理模块104,用户可以添加或删除不同的测试手机号,方便多个设备并行测试,与此同时也可对不同手机号下的mock数据进行新增、删除、修改等一系列操作。
在一些示例中,基于自定义mock平台的数据测试方法还包括:将网络请求或mock数据进行分类管理以聚合成对应场景,以通过同一场景下其它网络请求或mock数据来对本条网络请求或mock数据进行问题复现。
在一些示例中,基于自定义mock平台的数据测试方法还包括:将业务流程日志、错误日志及难以抓包的信息推送给数据抓包模块。通过将这些信息展示于抓包页面中,实现对一些非常规的协议进行辅助测试和排障。以蓝牙日志为例:客户端发送蓝牙日志到拦截服务器模块,拦截服务器模块会将蓝牙日志通过WebSocket推送到数据抓包平台展示给用户,达到类似抓包蓝牙协议信息的效果;与此同时,也可将业务流程日志、错误信息日志推送到数据抓包平台,辅助测试和排障。
需说明的是,本实施例中基于自定义mock平台的数据测试方法,其实施方式与上文中基于自定义mock平台的数据测试系统类似,因此不再赘述。
如图5所示,本发明实施例还提供一种计算机设备,本实例提供的计算机设备,包括:处理器51、存储器52、通信器53;存储器52通过系统总线与处理器51和通信器53连接并完成相互间的通信,存储器52用于存储计算机程序,通信器53用于和其他设备进行通信,处理器71用于运行计算机程序,使计算机设备执行如上基于自定义mock平台的数据测试方法的各个步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述基于自定义mock平台的数据测试方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
综上所述,本发明提供基于自定义mock平台的数据测试系统、方法、设备及介质;本发明的数据抓包无需任何配置,也不需要安装证书,通过拦截器和WebSocket推送能力,可实现对http/https的抓包功能;在抓包基础上,使用json编辑器,直接修改请求、返回数据、创建mock数据,图形化界面操作简单方便;可一键切换mock环境与真实环境,单条mock数据与真实数据,多种场景数据可进行对比,方便复现问题;数据请求和数据反馈可以分别设置mock开关,方便用户测试不同数据请求对应的数据反馈,节省测试成本并缩短测试周期;提供日志功能,方便清理业务流程的同时,对一些特殊场景的查错也有很大帮助;可实时保存当前所有http/https请求,创建一个稳定的服务环境,方便复现问题;可对mock数据进行聚合管理,预置多类场景进行保存,方便后续复用。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (11)
1.一种基于自定义mock平台的数据测试系统,其特征在于,包括:
数据抓包模块,用于响应于用户操作而打开mock开关,以令所有网络请求被拦截;
拦截服务器模块,用于拦截所述网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端;
用户管理模块,用于管理用户客户端的通讯ID及每个通讯ID下的mock数据,以通过添加多个通讯ID进行多设备的并行测试。
2.如权利要求1所述基于自定义mock平台的数据测试系统,其特征在于,所述拦截服务器模块获取对应的客户端ID并判断当前客户端接口是否配置了mock数据的过程包括:
向所述服务端发送访问令牌,以从所述服务端获取所述客户端的通讯ID;
根据所述通讯ID及客户端接口名称,判断客户端接口是否配置了mock数据。
3.如权利要求1所述基于自定义mock平台的数据测试系统,其特征在于,所述拦截服务器模块还用于将拦截到的网络请求通过WebSocket协议推送至所述数据抓包模块,供查看当前所有网络请求的信息以进行数据抓包。
4.如权利要求1所述基于自定义mock平台的数据测试系统,其特征在于,还包括数据管理模块,用于显示所述网络请求的信息并管理mock数据。
5.如权利要求4所述基于自定义mock平台的数据测试系统,其特征在于,所述数据管理模块还用于为每一条mock数据的数据请求和数据反馈分别设置一个mock开关;在进行数据测试时,打开数据请求的开关及关闭数据反馈的开关,以通过改变数据请求的值来改变测试环境,并进行不同环境下的数据测试。
6.如权利要求4所述基于自定义mock平台的数据测试系统,其特征在于,所述数据管理模块还用于为每个客户端接口创建多条mock数据,以适应不同的测试场景。
7.如权利要求1所述基于自定义mock平台的数据测试系统,其特征在于,还包括场景管理模块,用于将网络请求或mock数据进行分类管理以聚合成对应场景,以通过同一场景下其它网络请求或mock数据来对本条网络请求或mock数据进行问题复现。
8.如权利要求1所述基于自定义mock平台的数据测试系统,其特征在于,还包括日志管理模块,用于将业务流程日志、错误日志及难以抓包的信息推送给所述数据抓包模块。
9.一种基于自定义mock平台的数据测试方法,其特征在于,包括:
响应于用户操作而打开mock开关,以令所有网络请求被拦截;
在拦截所述网络请求后获取对应的客户端ID,并判断当前客户端接口是否配置了mock数据;若配置了mock数据且当前条mock数据的mock开关为开启状态,则向客户端发送对应的mock数据,否则向服务端请求真实数据并发送至所述客户端;
管理用户客户端的通讯ID及每个通讯ID下的mock数据,以通过添加多个通讯ID进行多设备的并行测试。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9所述基于自定义mock平台的数据测试方法。
11.一种计算机设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行如权利要求9所述基于自定义mock平台的数据测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210364964.9A CN114978970B (zh) | 2022-04-07 | 2022-04-07 | 基于自定义mock平台的数据测试系统、方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210364964.9A CN114978970B (zh) | 2022-04-07 | 2022-04-07 | 基于自定义mock平台的数据测试系统、方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978970A CN114978970A (zh) | 2022-08-30 |
CN114978970B true CN114978970B (zh) | 2023-11-24 |
Family
ID=82977841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210364964.9A Active CN114978970B (zh) | 2022-04-07 | 2022-04-07 | 基于自定义mock平台的数据测试系统、方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978970B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105548749A (zh) * | 2015-12-08 | 2016-05-04 | 北京星河亮点技术股份有限公司 | 一种基于互联网的通讯终端测试方法、装置及系统 |
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试系统、测试方法、mock平台、拦截器和客户端 |
CN107659455A (zh) * | 2017-10-16 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 一种iOS端Mock数据的方法、存储介质、设备及系统 |
CN110515850A (zh) * | 2019-08-29 | 2019-11-29 | 北京拉勾网络技术有限公司 | 一种应用程序测试方法、移动终端及存储介质 |
CN110727588A (zh) * | 2019-09-29 | 2020-01-24 | 浙江大搜车软件技术有限公司 | 网络应用的测试方法、系统、计算机设备和可读存储介质 |
CN111132138A (zh) * | 2019-12-06 | 2020-05-08 | 中国电子科技集团公司电子科学研究院 | 一种移动应用程序透明通信保护方法与装置 |
CN111159037A (zh) * | 2019-12-29 | 2020-05-15 | 北京车与车科技有限公司 | 一种API接口mock及代理测试方法 |
CN111159039A (zh) * | 2019-12-30 | 2020-05-15 | 中信百信银行股份有限公司 | 一种服务模拟方法、系统、设备和存储介质 |
CN113190464A (zh) * | 2021-05-27 | 2021-07-30 | 中国工商银行股份有限公司 | mock测试方法、装置、电子设备及介质 |
CN113609010A (zh) * | 2021-07-29 | 2021-11-05 | 挂号网(杭州)科技有限公司 | 一种基于浏览器客户端的测试方法及装置 |
CN113760397A (zh) * | 2020-09-01 | 2021-12-07 | 北京京东拓先科技有限公司 | 接口调用的处理方法、装置、设备及存储介质 |
US11245591B1 (en) * | 2020-09-17 | 2022-02-08 | Servicenow, Inc. | Implementation of a mock server for discovery applications |
-
2022
- 2022-04-07 CN CN202210364964.9A patent/CN114978970B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105548749A (zh) * | 2015-12-08 | 2016-05-04 | 北京星河亮点技术股份有限公司 | 一种基于互联网的通讯终端测试方法、装置及系统 |
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试系统、测试方法、mock平台、拦截器和客户端 |
CN107659455A (zh) * | 2017-10-16 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 一种iOS端Mock数据的方法、存储介质、设备及系统 |
CN110515850A (zh) * | 2019-08-29 | 2019-11-29 | 北京拉勾网络技术有限公司 | 一种应用程序测试方法、移动终端及存储介质 |
CN110727588A (zh) * | 2019-09-29 | 2020-01-24 | 浙江大搜车软件技术有限公司 | 网络应用的测试方法、系统、计算机设备和可读存储介质 |
CN111132138A (zh) * | 2019-12-06 | 2020-05-08 | 中国电子科技集团公司电子科学研究院 | 一种移动应用程序透明通信保护方法与装置 |
CN111159037A (zh) * | 2019-12-29 | 2020-05-15 | 北京车与车科技有限公司 | 一种API接口mock及代理测试方法 |
CN111159039A (zh) * | 2019-12-30 | 2020-05-15 | 中信百信银行股份有限公司 | 一种服务模拟方法、系统、设备和存储介质 |
CN113760397A (zh) * | 2020-09-01 | 2021-12-07 | 北京京东拓先科技有限公司 | 接口调用的处理方法、装置、设备及存储介质 |
US11245591B1 (en) * | 2020-09-17 | 2022-02-08 | Servicenow, Inc. | Implementation of a mock server for discovery applications |
CN113190464A (zh) * | 2021-05-27 | 2021-07-30 | 中国工商银行股份有限公司 | mock测试方法、装置、电子设备及介质 |
CN113609010A (zh) * | 2021-07-29 | 2021-11-05 | 挂号网(杭州)科技有限公司 | 一种基于浏览器客户端的测试方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于http的移动终端和Web服务器的通信接口研究;张倩;秦宏;侯欣明;赵东升;;数字技术与应用(第08期);全文 * |
浅谈接口性能预测试对手机端软件的影响;郑慧芬;;中国新通信(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114978970A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10764377B2 (en) | Application programming interface (API) to provide network metrics and network resource control to users | |
US11233826B2 (en) | System and method of microservice-based application deployment with automating authorization configuration | |
CN113190464B (zh) | mock测试方法、装置、电子设备及介质 | |
US20200233786A1 (en) | Default mock implementations at a server | |
CN104572263A (zh) | 一种页面数据交互方法、相关装置及系统 | |
CN112612985A (zh) | 基于WebSocket的多用户和多类型消息的推送系统及方法 | |
CN109831351B (zh) | 链路跟踪方法、装置、终端及存储介质 | |
WO2020211360A1 (zh) | Mock测试方法、系统、电子设备及计算机非易失性可读存储介质 | |
CN114490383A (zh) | 远程调试系统、远程调试方法、计算设备和可读介质 | |
US20070271208A1 (en) | Method, system and program product for automated testing of changes to exernalized rules | |
CN112671574B (zh) | 前后端联调方法、装置、代理设备及存储介质 | |
CN114978970B (zh) | 基于自定义mock平台的数据测试系统、方法、设备及介质 | |
CN111726328A (zh) | 用于对第一设备进行远程访问的方法、系统以及相关设备 | |
US9329960B2 (en) | Methods, systems, and computer readable media for utilizing abstracted user-defined data to conduct network protocol testing | |
US9389991B1 (en) | Methods, systems, and computer readable mediums for generating instruction data to update components in a converged infrastructure system | |
CN113301155A (zh) | 数据路由方法、装置、设备和存储介质 | |
CN112187869A (zh) | Iot设备的远程调试系统、方法、电子设备及存储介质 | |
CN113419952B (zh) | 云服务管理场景测试装置与方法 | |
US11200616B2 (en) | Electronic file transmission method, device, system, and computer readable storage medium | |
CN109271310B (zh) | 移动应用程序网络功能的开发测试方法和装置 | |
US11888821B1 (en) | Supporting local host traffic in remote device infrastructure | |
CN117172205B (zh) | 性能分析方法、装置、电子设备及存储介质 | |
CN111427797B (zh) | 一种接口自动测试方法、装置、电子设备及存储介质 | |
US11381464B2 (en) | Methods, systems, and computer readable media for implementing a generalized model for defining application state machines | |
CN116701158A (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 |