51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 380|回复: 0
打印 上一主题 下一主题

Postman有多强大,看完这篇你就知道了

[复制链接]
  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 1047 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-3-13 09:42:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在做一些app,前后端分离的开发模式是必须的。一直用的python flask做后端的快速POC,python本身就是一门胶水语言,开发起来方便快捷,而flask又是一个极简的webserver框架(比Django简洁)。但在这里推荐的是使用Postman,避免同时打开pycharm和webstorm,同时对于不懂python的同学也是福音。
      在整个开发过程中,前端或后端的延迟可能会阻碍相关团队有效地完成工作。一些后端的API工程师已经开始使用Postman去测试后端endpoint,而不依赖于前端UI来模拟API请求。
      现在,Postman开发了一种新的模拟服务,使团队能够模拟后端服务器。前端开发人员可以模拟Postman collection(和相应的环境)中的每个endpoint,以查看潜在的响应,而无需实际启动后端。
      前端,后端和API团队现在可以并行工作,从而释放之前因这些依赖性而延迟的开发人员。现在,让我们看看Postman是如何模拟后端的。
      设置一个用于模拟的集合
      这里,前端开发得先知道有哪些url是用于和后端通信的。
      在这个例子中,我们有一个 Tesk Mock 的集合,并且配置了同名的环境的Tesk Mock 。集合中,有两个request:mock_r_1 和 mock_r_2,一个GET,一个POST,对应的path分别是/test,/tp。

      接下来,让我们设置一个 mock server 并且为每一个endpoint模拟一条response。
      注意:这两个是必须的步骤,没有必然的先后顺序。你可以先mock response,再创建mock server,也可以先创建mock server,再mock response。这里,我们先创建一个mock server。
      创建mock server
      进入左边的导航栏,选择我们的Test mock集合,会出现一个三角符号(如下图中Postman Echo集合旁边的符号),点击之后,三角符号会反向(如下图中Test mock集合旁边的符号),并且出现针对该集合的配置。这里有一个Mocks,请选择之:

      接下来的步骤很简单,一路点击创建即可:

      最后一个步骤,我们得到了一个mock server的地址,也就是说,这个mock server是postman在自己的服务器上为我们创建的,无论我们是否打开postman,我们都可以直接用这个地址来访问mock的API。
      别担心你会忘掉这个地址,因为它会自动保存在collection的配置中,按照我们刚才是的步骤,回到这个集合中,在Mocks下面,你会看到你创建的server:

      点击图中的图标,会直接复制到粘贴板上。然后你可以将其保存在Tesk mock环境的变量中。也可以直接使用。
      但这时,你拥有的只是一个mock server,上面没有任何服务可用。你需要在这个server上注册endpoint,并且mock对应的response,才可以使之服务于你。
      mock每个endpoint的response
      这里的步骤也不复杂,针对每个endpoint,或者说是host下面的path,你需要自己提供mock data。在postman里面,这个概念叫做example,即每一个你需要访问的路径/接口/资源,都可以提供一个栗子,即便你连不上,你也可以通过例子知道该路径/接口/资源大概会返回什么样的response。这个example不单单是为了mock而做的,因为postman可以生成API文档,在生成文档的时候,这个例子也会直接放在文档里,方便查阅文档的人了解接口。
      具体创建步骤:
      打开collection,选择request,为request创建一个example,保存example。

      这里需要注意的是:
      ·每个request都可以有多个example
      · 每个example创建之后都可以修改
      · Mock server只会采用最后创建的example
      使用mock server
      在前面的步骤中,我们已经创建了mock server,并且为每个end point至少创建了一个example。这时,mock server就不再只是一个空壳了,它会为每一创建了example的endpoint提供mock服务,mock的内容就是最后创建的example的内容。
      我们可以直接在postman上测试:

      也可直接在[url=]浏览器[/url]上验证:

      注意:在验证第二个endpoint的时候,失败的原因是,endpoint是POST权限的,但浏览器默认是用GET去访问。
      对开发模式的启发
      使用postman,前端团队和后端团队完全可以在约定了API接口之后,各自完成开发,而不需要收到对方进度的影响,因此在真正开始开发工作之前,接口、数据格式的约定变得尤为重要,当然,因为postman是支持组开发的,即便接口,数据有变化,也可通过share collection的方式,及时同步collection下request的变化,并立即反应到mock server上。并且,因为mock server是挂载postman的服务器上,只要有网络,前端是可以在家办公,而不用受制于内网限制的。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 13:39 , Processed in 0.071745 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表