CN111596910A - 一种Mock服务平台及方法 - Google Patents
一种Mock服务平台及方法 Download PDFInfo
- Publication number
- CN111596910A CN111596910A CN202010312874.6A CN202010312874A CN111596910A CN 111596910 A CN111596910 A CN 111596910A CN 202010312874 A CN202010312874 A CN 202010312874A CN 111596910 A CN111596910 A CN 111596910A
- Authority
- CN
- China
- Prior art keywords
- mock
- request
- mock service
- module
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 25
- 235000014510 cooky Nutrition 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- 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/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- 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/3664—Environments for testing or debugging software
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种Mock服务平台及方法,其中,所述平台包括:URL管理模块,用于在新建Mock服务时,建立该Mock服务的请求数据;请求响应模块,用于针对Mock服务的请求数据作出数据输出的响应;https协议模块,用于当Mock服务需要加密环境时,通过建立https链接为Mock服务模拟加密环境;Logger模块,用于保存所述Mock服务平台的所有Mock服务的请求数据和数据输出。本发明的技术方案针对mock数据测试,可以可视化的设置请求参数包括body和header等和输出参数包括body,cookie,header等,利用跨平台技术,可以在mac,windows,linux下使用,同时非侵入的方式提高了安全性和便捷性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种Mock服务平台及方法。
背景技术
现有的mock服务包括通过Mock.js拦截Ajax异步请求,使原本的请求映射到Mock的接口上,在接口上建立相对应的数据输出,同时支持数据类型,随机数据等功能。
但是,Mock.js的侵入性太强,在编写mock数据需要写相对应的代码,遵循一套模板,往往因为mock数据代码出错导致整个程序失败,同时mock数据在程序上线后变为鸡肋,使得程序的可维护性变差。
发明内容
本发明实施例提供一种Mock服务平台及方法,针对mock数据测试,可以可视化的设置请求参数包括body和header等和输出参数包括body,cookie,header等,利用跨平台技术,可以在mac,windows,linux下使用,同时非侵入的方式提高了安全性和便捷性。
为达到上述目的,一方面,本发明实施例提供了一种Mock服务平台,所述平台包括:
URL管理模块,用于在新建Mock服务时,建立该Mock服务的请求数据;
请求响应模块,用于针对Mock服务的请求数据作出数据输出的响应;
https协议模块,用于当Mock服务需要加密环境时,通过建立https链接为Mock服务模拟加密环境;
Logger模块,用于保存所述Mock服务平台的所有Mock服务的请求数据和数据输出。
另一方面,本发明实施例提供了一种基于Mock服务平台的Mock服务方法,所述方法包括:
通过URL模块建立Mock服务的请求数据;
通过请求响应模块对Mock服务的请求数据作出数据输出的响应;
当Mock服务需要加密环境时,通过https协议模块建立https链接,为Mock服务模拟加密环境;
通过Logger模块保存所述Mock服务平台的所有Mock服务的请求数据和数据输出。
上述技术方案具有如下有益效果:
本发明的技术方案通过将mock服务的实现平台化,通过设置各个模块实现mock服务的请求数据和数据输出的设置,可以实现可视化管理,避免了在程序中编写代码,完全独立于程序,避免了侵入性太强的缺点。同时支持https协议,支持多种请求,由于线上往往是https协议,本工具可完全模拟线上的环境,同时本工具支持get,post,put等请求,同时自主制定返回状态。mock数据可进行项目化管理,对每个请求数据进行增删改查,做到灵活高可复用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种Mock服务平台的结构示意图;
图2是本发明实施例一种基于Mock服务平台的mock服务方法的流程图;
图3是本发明mock服务平台的界面示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本方案中相关的缩略语和关键术语定义:
Mock:一般是指软件开发过程中,建立随机的数据,进行请求拦截,主要用于软件数据测试。
Vue:是一套构建用户界面的渐进式框架。只关注视图层,采用自底向上增量开发的设计。它的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。
Electron:基于JavaScript,html,css的跨平台框架
Electron-vue:结合vue和Electron的框架,可以使用vue语法进行跨平台软件开发
协议:为进行网络中的数据交换而建立的规则、标准或约定。
如图1所示,是本发明实施例一种Mock服务平台的结构示意图,所述平台包括:
服务模块,用于在Mock服务平台开启时读取平台的配置文件;当mock服务平台开启时,服务模块在此开启之前会进行配置文件的读取,包括之前保存的已经建立的mock请求地址,以及本工具自己的配置文件等。包括进行url遍历,遍历包括请求地址,端口,通用前缀等,建立相对应的Service服务,此处使用的底层是vue的vue-router模块。
URL管理模块11,用于在新建Mock服务时,建立该Mock服务的请求数据。
优选地,所述Mock服务的请求数据包括Mock服务的请求的统一资源定位符URL、请求端口、请求参数以及请求方法;其中,通过Vue框架的路由功能vue-router模块建立所述请求的URL。
具体地,在URL管理模块11中是针对请求的url进行增删改查,请求会保持在本地sqlite数据库中,同时url模块会动态的建立连接,外部用户既可以通过请求地址,请求端口,和请求参数,请求方法,进行访问,保证程序高可复用,一个项目可建立一套mock数据组,每个mock数据可以进行修改。当我们需要新建一条新的mock数据时候,mock数据包括请求的url,请求端口,请求参数,请求方法(post,get等)这个时候我们就要需要用到url管理模块,该模块是动态加载mock数据和管理mock数据的模块,url管理模块可以对不同的项目建立不同的项目集合,对于同一项目建立多个mock数据。在添加mock数据url时候,底层用到的是Vue框架的路由功能。
请求响应模块12,用于针对Mock服务的请求数据作出数据输出的响应;优选地,所述请求响应模块还用于设置所述数据输出的形式,所述数据输出的形式包括http协议形式、text文本形式以及json字符串形式。
具体地,请求响应模块12用于对用户请求的响应,输出用户的mock数据,对于请求可设置参数,对于响应可设置json返回值。当一条请求发送过来,如果路由存在,同时请求的参数等一致,则会调用请求响应模块,请求响应模块是指针对请求模块做出对应的返回,以达到mock的效果,请求响应模块可以设置请求体body,cookie值,请求头header值。但是,针对请求数据进行数据返回即数据输出,数据输出的设置可以是http协议中的body,cookie,header,也可以设置text,json等多种输出文本形式,基本满足大多数使用场景。
https协议模块13,用于当Mock服务需要加密环境时,通过建立https链接为Mock服务模拟加密环境;优选地,所述https协议模块通过设置秘钥和公钥实现基于https链接的加密环境,所述秘钥和公钥保持在配置文件中。
具体地,https协议模块13用于模拟https环境,所实现的https的秘钥和公钥保存在配置文件中,当需要改功能时,server服务模块会重新读取配置文件,调取秘钥,生成https的mock数据的url。在请求返回时调取公钥进行解密,实现用户https的加密解密,真实模拟线上环境。
Logger模块14,用于保存所述Mock服务平台的所有Mock服务的请求数据和数据输出;请求和返回的数据全部保存在logger模块中,作为请求的记录,便于追踪溯源和数据分析等。当我们需要去查看历史记录时,我们可以在logger模块中找到每一次请求所对应的请求值和返回值,提升定位问题的效率,同时记录会存在sqlite中,不会因为log文件太大影响软件运行速度。
优选地,所述Mock服务平台通过桌面应用程序Electron进行构建。可以为mac,linux,windows提供跨平台解决方案。
对应于上述平台,如图2所示,是本发明实施例一种基于Mock服务平台的mock服务方法的流程图,所述方法包括
S101:通过URL模块建立Mock服务的请求数据;
S102:通过请求响应模块对Mock服务的请求数据作出数据输出的响应;
S103:当Mock服务需要加密环境时,通过https协议模块建立https链接,为Mock服务模拟加密环境;
S104:通过Logger模块保存所述Mock服务平台的所有Mock服务的请求数据和数据输出。
优选地,所述Mock服务的请求数据包括Mock服务的请求的统一资源定位符URL、请求端口、请求参数以及请求方法;其中,通过Vue框架的路由功能vue-router模块建立所述请求的URL。
优选地,还包括:
通过请求响应模块设置所述数据输出的形式,所述数据输出的形式包括http协议形式、text文本形式以及json字符串形式。
优选地,还包括:Mock服务平台在开启时通过服务模块读取平台的配置文件;
所述https协议模块通过设置秘钥和公钥实现基于https链接的加密环境,所述秘钥和公钥保存在所述配置文件中。
优选地,所述Mock服务平台通过桌面应用程序Electron进行构建。
采用了本方案的服务平台,作为一种工具,相对于其他mock工具
一、本工具为自主开发工具,相比于其他mock数据,本工具是一个客户端,做到可视化管理,避免了在程序中编写代码,完全独立于程序,避免了侵入性太强的缺点。
二、跨平台性,使用Electron框架,使得本工具可以在mac,windows,linux***下运行,不需要任何适配。
三、支持https协议,支持多种请求,由于线上往往是https协议,本工具可完全模拟线上的环境,同时本工具支持get,post,put等请求,同时自主制定返回状态。
四、mock数据可进行项目化管理,对每个请求数据进行增删改查,做到灵活高可复用。本发明的方案针对mock数据测试,可以可视化的设置请求参数包括body和header参数等和输出参数包括body,cookie,header等,利用跨平台技术,可以在mac,windows,linux下使用,同时非侵入的方式提高了安全性和便捷性。前端开发人员可以不用等正式的后端接口上线既可以进行数据测试,相比于传统的需要写代码的mockjs,极大的减轻了工作量,减少了代码bug,同时可视化的输出输入,所见即所得,简化且高效,对于后端开发人员,可以先预设接口样式,提供给前端,解决前后端开发效率不同而产生的相互等待的问题。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种Mock服务平台,其特征在于,包括:
URL管理模块,用于在新建Mock服务时,建立该Mock服务的请求数据;
请求响应模块,用于针对Mock服务的请求数据作出数据输出的响应;
https协议模块,用于当Mock服务需要加密环境时,通过建立https链接为Mock服务模拟加密环境;
Logger模块,用于保存所述Mock服务平台的所有Mock服务的请求数据和数据输出。
2.如权利要求1所述的Mock服务平台,其特征在于,所述Mock服务的请求数据包括Mock服务的请求的统一资源定位符URL、请求端口、请求参数以及请求方法;其中,通过Vue框架的路由功能vue-router模块建立所述请求的URL。
3.如权利要求2所述的Mock服务平台,其特征在于,所述请求响应模块还用于设置所述数据输出的形式,所述数据输出的形式包括http协议形式、text文本形式以及json字符串形式。
4.如权利要求3所述的Mock服务平台,其特征在于,还包括服务模块,用于在Mock服务平台开启时读取平台的配置文件;所述https协议模块通过设置秘钥和公钥实现基于https链接的加密环境,所述秘钥和公钥保存在所述配置文件中。
5.如权利要求4所述的Mock服务平台,其特征在于,所述Mock服务平台通过桌面应用程序Electron进行构建。
6.一种Mock服务方法,通过mock服务平台实现,其特征在于,包括:
通过URL模块建立Mock服务的请求数据;
通过请求响应模块对Mock服务的请求数据作出数据输出的响应;
当Mock服务需要加密环境时,通过https协议模块建立https链接,为Mock服务模拟加密环境;
通过Logger模块保存所述Mock服务平台的所有Mock服务的请求数据和数据输出。
7.如权利要求6所述的Mock服务方法,其特征在于,所述Mock服务的请求数据包括Mock服务的请求的统一资源定位符URL、请求端口、请求参数以及请求方法;其中,通过Vue框架的路由功能vue-router模块建立所述请求的URL。
8.如权利要求7所述的Mock服务方法,其特征在于,还包括:
通过请求响应模块设置所述数据输出的形式,所述数据输出的形式包括http协议形式、text文本形式以及json字符串形式。
9.如权利要求8所述的Mock服务方法,其特征在于,还包括:Mock服务平台在开启时通过服务模块读取平台的配置文件;
所述https协议模块通过设置秘钥和公钥实现基于https链接的加密环境,所述秘钥和公钥保存在所述配置文件中。
10.如权利要求9所述的Mock服务方法,其特征在于,所述Mock服务平台通过桌面应用程序Electron进行构建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312874.6A CN111596910A (zh) | 2020-04-20 | 2020-04-20 | 一种Mock服务平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312874.6A CN111596910A (zh) | 2020-04-20 | 2020-04-20 | 一种Mock服务平台及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111596910A true CN111596910A (zh) | 2020-08-28 |
Family
ID=72188941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010312874.6A Pending CN111596910A (zh) | 2020-04-20 | 2020-04-20 | 一种Mock服务平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111596910A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务***及Mock服务的处理方法 |
CN104199725A (zh) * | 2014-09-27 | 2014-12-10 | 上海瀚之友信息技术服务有限公司 | 一种服务接口数据模拟方法和*** |
CN106528393A (zh) * | 2015-09-09 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 一种WebService的Mock测试的方法及装置 |
US10089219B1 (en) * | 2017-01-20 | 2018-10-02 | Intuit Inc. | Mock server for testing |
-
2020
- 2020-04-20 CN CN202010312874.6A patent/CN111596910A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务***及Mock服务的处理方法 |
CN104199725A (zh) * | 2014-09-27 | 2014-12-10 | 上海瀚之友信息技术服务有限公司 | 一种服务接口数据模拟方法和*** |
CN106528393A (zh) * | 2015-09-09 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 一种WebService的Mock测试的方法及装置 |
US10089219B1 (en) * | 2017-01-20 | 2018-10-02 | Intuit Inc. | Mock server for testing |
US20180365140A1 (en) * | 2017-01-20 | 2018-12-20 | Intuit Inc. | Mock server for testing |
Non-Patent Citations (2)
Title |
---|
LANCEGIN: "GitHub - LanceGin/Mockman: Manage and start the mock servers on your local platform easily", 《HTTPS://GITHUB.COM/LANCEGIN/MOCKMAN》 * |
小冯先生: "MockMan-Mock服务工具推荐", 《HTTPS://BLOG.CSDN.NET/BAIDU_36943075/ARTICLE/DETAILS/100746728》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7334220B2 (en) | Data driven test automation of web sites and web services | |
US7992127B2 (en) | Method and system of encapsulating web site transactions for computer-aided generation of web services | |
CN101398845B (zh) | 一种Web应用中的多语言绑定方法及*** | |
Kurniawan | Learning AWS IoT: Effectively manage connected devices on the AWS cloud using services such as AWS Greengrass, AWS button, predictive analytics and machine learning | |
US9201767B1 (en) | System and method for implementing a testing framework | |
US20080127097A1 (en) | Method and devices for url command testing and for scenario testing | |
CN104967542A (zh) | 一种移动端页面的测试方法、装置和*** | |
US20080244062A1 (en) | Scenario based performance testing | |
CN108923997A (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
CN109032573A (zh) | 一种硬件编程***和方法 | |
CN112615759A (zh) | 全链路压测组件、全链路压测方法及装置 | |
US20170103211A1 (en) | Install runtime agent for security test | |
CN111800511B (zh) | 同步登录态的处理方法、***、设备及可读存储介质 | |
CN113485927A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
CN104468275A (zh) | 一种产业集群创新平台测试装置及方法 | |
CN111596910A (zh) | 一种Mock服务平台及方法 | |
CN116599949A (zh) | 基于http协议的第三方api协议接入方法及*** | |
CN114915565B (zh) | 网络调试的方法和*** | |
Lyu et al. | REST APIs | |
Yu et al. | A virtual deployment testing environment for enterprise software systems | |
Martínez et al. | Implementing crossplatform distributed algorithms using standard web technologies | |
CN112272125A (zh) | 一种负载均衡协议的测试方法、***、终端及存储介质 | |
CN111258592A (zh) | 一种应用于集群服务器的免安装串行执行方法与*** | |
CN110740134A (zh) | 一种url鉴权测试方法、装置、设备及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200828 |