mock server 工具(mock使用)

网友投稿 815 2023-05-01


本篇文章给大家谈谈mock server 工具,以及mock使用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享mock server 工具的知识,其中也会对mock使用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

使用postman的mock server

【前情提要】

作为测试工程师,在日常工作中遇到和三方对接的项目,三方开发进度不理想,导致无法进行联调测试,基于此,开始学习与了解mock服务

【吸收】

经过资料查询,实操验证之后,汇总成如下自我理解:

1.正常自己公司的项目里面,会有一个config文件,里面会配置相关第三方调用接口的地址:ip:port//,具体的URL中的path会统一在接口文档中给出,描述三方提供的接口信息,包括(接口说明、接口路径(path)、请求参数、返回数据格式等),具体项目中调用哪些三方接口,则在项目程序里再去规定。

2.mock的意义,简单来说在于模拟第三方接口的返回,用于我们项目的前端调试,或者接口与接口之间的调用调试。

3.基于此,我们可以使用postman工具的mock server功能,来模拟第三方接口,既然模拟了第三方的所有接口,那么我们在得到mock server的地址(IP2:port2)后,需要在自己项目的config文件中,把配置的第三方调用接口的地址(ip:port),修改成mock server的地址(IP2:port2)。这样程序在运行后,本来调用第三方的地址,才能够走到我们的mock server中,模拟我们配置好的接口返回的数据。

( 注 :1.在测试完成后,项目上线之前,需要检查配置文件的地址,是否修改为正确的三方地址。2.出于测试完整性,临时使用mock地址后,三方接口完成开发后,需要修改回正确的三方地址,进行联调测试)

4.postman的mock server 使用步骤:

a.注册postman账号

b.可新建一个space来单独管理mock
d.在环境变量里添加相应的变量,主要包括mock server 的服务地址(即:IP2:port2),以及属于自己账号下的api keys(获取方式需要登录postman官网)

e.给mock server里添加相应的接口,并增加相应的EXAMPLE

f.mock添加对应的接口后,因mock server是联网的,故不受内外网环境的限制,在任何网络环境下,都可配置你自己的mock server地址,进行测试。

接口模拟测试利器,moco server工具的介绍

前后端经常会存在接口对接mock server 工具,为减少相互间的强依赖,双方能并行开发。接口的模拟测试就显得尤为关键。一些对外的接口,外部环境往往不可控,在开发、测试阶段为了减少其影响,通过接口模拟测试能减少很多不必要的麻烦。

本文将介绍一款轻量级的java mock server工具,解决以上的常见问题。

moco是一个java实现,轻量级的,开源的接口模拟测试工具,可以通过jar独立部署。简单json配置,即可实现接口的请求响应接口模拟。

官方地址:

下载官方Standalone Moco Runner文件到本地。

下载完成对应目录下可以moco-runner-0.12.0-standalone.jar文件

对应目录下新增foo.json文件以下内容。

以上定义了全局接口的返回信息。

以下命令运行moco server

访问http://localhost:12306 ,将看到"Hello, Moco"返回信息。

以上就完成了moco server的接口完整测试。是不是很easy。接下来我们再看看,比较常用的http restful的配置方式。

一个项目往往有很多接口,moco的include属性支持多个配置文件的引用,通过不同文件的配置实现接口的分组定义,更便于接口管理维护。

首先定义一个全局配置文件globalconfig.json(名称可以任意取)

上面使用include属性,引入相关子文件定义。

注意:若使用include的文件定义,在启动moco server的时候,配置文件前的启动参数是 -g ,而不是一开始介绍的 -c 参数,否则启动将包include字段识别错误。

openApi.json文件内容如下

上面定义了接口测试1、接口测试2两个接口。每个接口可以配置mock server 工具他的request和response信息。在接口测试时,必须request选项满足时,对应response才返回。

更多属性配置可参见官方文档。

另外moco server对配置文件的变更是实时检测的,以下控制界面可见openApi.json发生的change变更。这在测试联调时特别方便,一种返回case测试完后想改返回值,只需变更响应配置文件,无需来回重启moco server。

通过使用moco server,是否感觉特别得简单、实用、高效?喜欢的coder们赶快使用起来吧!提高效率,珍惜生命!

使用Swagger构建Node.js API文档与Mock Server

Swagger是一个编写API文档的套件组合mock server 工具,而不是一个单一的工具。具体可以在官网看到。
Swagger可以实现很多功能,这里只说最基础、常用的:
1. API文档撰写 —— Swagger Editor
2. API文档的显示 —— Swagger UI
3. 生成Mock服务 —— Swagger Editor

目前mock server 工具我们很多项目采用的都是新建一个markdown,写文档,每次改接口,就打开旧的markdown=编辑=保存=复制并发布到项目wiki。

Swagger Editor可以解决1、3、4,不止具有语法提示、语法检测,还支持定义对象,一处定义多处使用,减少重复编写,写好后可以一键生成Mock Server,而且支持生成多种语言的:

Swagger UI则是一套Web展示框架,把你用Swagger Editor写出来的东西,漂亮地展示出来:

首先, 安装Editor ,安装方式多种可选。
最简单的就是使用Docker,只需要pull镜像,run镜像,就可以使用了,完全不用任何多余步骤。
不推荐在线Editor,亲测特别慢,毕竟是国外的服务器。

此处有两个概念,不要混淆: 语法(YAML或者JSON 和 规范(OpenAPI) 。
OpenAPI规范就是我们期望的一套API撰写的完整规范,包括如何说明参数、请求方法、响应码、响应体等。
YAML和JSON是Swagger Editor能够读懂的语法。
用YAML或者JSON写出符合OpenAPI规范的文档 = 用JavaScript写出符合Restful规范的接口

建议打开 Swagger的在线Editor ,对照着示例,边看边敲边学。

我们希望文档能跟在项目中,项目部署到服务器后,可以在项目服务器浏览到文档,而不用单独管理文档。

非常简单,在Editor中选择 Generate Server ,选择你想要的语言就可以:

我们之前使用Swagger Editor编辑文档,也可以借助框架,从注释生成文档,而不使用Editor。

使用 swagger-tools 的 swagger-router中间件 即可实现,具体没有测试,待大家发现。

postman使用mock server模拟做挡板测试

mock挡板测试有两种方式,如图所示:

1是通过【create a new collection】直接创建mock server,设置endpoint、状态码和响应正文,比较简单,不需要自行创建samples;

2是通过【select an existing collection】,先创建集合和请求,在此基础上创建mock server,再给请求创建samples(可以将响应结果直接保存为sample)

下面通过2个案例分别描述下2种方式,首先是方式一,直接创建mock server

step1:打开postman,进入【mock server】模块,点【+】出来【Create a mock server】,然后填写请求方式、url、code及body,点下一步;

step2:自定义一个mock server name,勾选上save the mock server URL as an environment variable,这样在环境变量中会自动生成以mock server name命名的环境变量,创建成功后会自动生成一个collection集合 和 环境变量mock25,接下来就是调用啦;

step3:调用。在集合中直接刚才创建的mock25,环境变量也选择mock25,点击send,查看相应结果即可;
以上是方式一,接下来我们看下方法二,通过已有的集合 【select an existing collection】 来做模拟。

step1:发送需要模拟的请求,然后将请求保存到一个已有的collection(或者新建一个collection保存),这里以新建为例,点击【save】边上按钮点【Save As...】在弹窗中输入 Request name 和 +Create Collection然后save;

step2:把这个请求 save as example,需要注意保存时把url改成{{url}}/XXX,这样是为了方便mock server访问(注意和step5中的拼接url,实际后面创建新请求返回的响应体就是这步里example的返回内容);

step3:在collection下创建mock server,选中对应的【Collections】右侧“。。。”下拉中【Mock collection】,然后填写mock server name,勾选选项“Save the mock server URL as an environment variable”

step4:创建好mock server复制 请求路径

step5:新建一个请求,调用mock server,这里需要拼接访问地址,格式:“copy mock url/带上实际需要访问的路径”(与step2相当于前面的{{url}}+原先请求的路径),如下图:

以上是2种创建mock server的方式啦。

MockServer 简单示例

MockServer 官方文档 http://www.mock-server.com

Maven 引入

ClientAndServer 用法

启动 main 方法mock server 工具,打开浏览器mock server 工具,输入 http://localhost:1080/test?p=1 ,页面返回 test1 ,并且成功写入 cookie 。注意写入mock server 工具的cookie 是Session 级别mock server 工具的,会话关闭将消失。输入 http://localhost:1080/test?p=2 ,页面返回 test2 ,说明MockServer 同时监听的两个匹配都有效。

MockServerClient 用法

运行 test ,执行通过。 关于mock server 工具和mock使用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 mock server 工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mock使用、mock server 工具的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实现 泛型 接口(实现泛型接口时,子类的泛型类型可以是)
下一篇:浅谈java分页三个类 PageBean ResponseUtil StringUtil
相关文章

 发表评论

暂时没有评论,来抢沙发吧~