Postman提供了一种mock服务,使团队能够模拟后端服务器。前端开发人员可以在不实际启动后端服务器的情况下,使用Postman模拟浏览器发送页面请求,而mock服务则可以提供前端页面与后端服务器之间的挡板服务,并模拟后台服务器的响应数据。
由此,使用postman,前端团队和后端团队完全可以在约定了API接口之后,各自完成开发,而不需要收到对方进度的影响,因此在真正开始开发工作之前,接口、数据格式的约定变得尤为重要,当然,因为postman是支持组开发的,即便接口,数据有变化,也可通过share collection的方式,及时同步collection下request的变化,并立即反应到mock server上。并且,因为mock server是挂载postman的服务器上,只要有网络,前端是可以在家办公,而不用受制于内网限制的。
现在,让我们看看Postman是如何使用mock挡板并模拟后端响应数据的。
一般情况下设置mock挡板测试有两种方式:
1、直接创建mock server,并指定接口的endpoint、响应状态码及响应正文,此种方式比较简单,不需要自行创建samples。
2、先创建collection及请求,在此基础上创建mock server,给请求创建samples(可以将响应结果直接保存为samples)
我们还是以v2ex论坛系统(https://www.v2ex.com/p/7v9TEc53)提供的接口,来演示mock的第一种实现形式。
一、创建mock server:
postman->new->mock server,设置参数如下:
点击上图下一步按钮,填写mock server的名称等
点击上图create mock server按钮,查看mock server信息后,点击close按钮关闭页面
关闭上面页面,在postman中会生成如下的collection和request,及mock server信息
二、运行请求,查看挡板结果
选择请求api/topics/hot.json,并且选择环境变量v2exMockServer(创建mockserver时候自动生成的,其中包含了mock server的url地址参数),使用其中的URL替换请求的变量,点击send发送请求,返回的就是挡板返回的数据啦。
三、补充一个点
上面两个步骤就可以完成一些接口的挡板测试了,但是创建的mock server是公共的,所以我们可以将其定义为私有的,具体用法如下。
1、mock server创建或者更新页面(在collection的右侧三角中的mocks中🖊按钮)中勾选:Make this mock server private,保存更新,在此发送上文的请求,就会失败:
2、点击postman右上角个人账户设置(account settings),进入浏览器账号管理页面,切换到下如的Postman API keys标签页下,点击Generate API key,填写api key的名称,生成key,需要记住这两个名称和key值(可以将其设置在environment环境中)。
3、在请求的头字段headers中添加字段:x-api-key,其值设置为上图中Generate API key生成的值;也可以将上图生成的API key的name和值,填入到postman的接口对应Environment中(本文中在v2exMockServer环境中添加变量名为:apikey,值为上图复制的值),然后将头部字段x-api-key的值使用环境变量替换一下{{apikey}},点击send发送请求,就不再报错啦,返回的就是挡板返回的数据啦。
【原创系列文章 如需转载 请联系作者 】
网友评论