当前位置: 代码迷 >> 综合 >> Postman 学习
  详细解决方案

Postman 学习

热度:477   发布时间:2023-11-22 16:52:23.0

文章目录

  • 安装
  • 执行顺序
  • 变量
    • 分类
    • 用法
  • Tests
    • 增加一个请求和它的接口测试用例
    • 启动单个测试
  • Collection Runner
    • 启动批量测试
    • 搭建一个工作流
  • Jenkins 持续集成
    • Tips
      • 执行顺序

安装

  • 官网下载地址
  • 直接安装就是了

执行顺序

  • 在一次请求的生命周期中,各个 js function section 的执行顺序
Pre-request Script
request
Tests

变量

分类

  • 变量分为全局变量环境变量Collection 变量

用法

  • 自定义的变量,一般写为{ {xxxxxxx}}
  • 官方定义的变量,一般写为{ {$xxxxxx}}
  • 下图可以看到在 url 中和 body 里都可以设置变量
    图里是在参数中设置变量
  • post

Tests

这是一个针对单个接口编写若干个测试用例的地方,我们可以通过 postman 集成的 chaijs 后,使用它的函数操作、验证我们想要的结果。


增加一个请求和它的接口测试用例

  • 我们可以通过下面两个链接,阅读官方给出的文章学习到该如何使用 Tests,以及相关的 js function
    • test-scripts 测试-原型
    • test-example 测试-用例
    • chaijs 可以通过这个学习函数用法
    • 这位仁兄的博客对 chaijs 介绍的不错
  • Pre-request Script
    • 在这个窗口里你也可以写 js function
    • 每次请求的生命周期中,执行顺序为

启动单个测试

  • 如果你写了 Tests,想测试下结果的话,只需要正常的调用接口,那么测试结果就会在显示返回值 Response Body 的 Tab 的旁边一个叫Test Results的 Tab 里面。
    测试用例

Collection Runner

这是一个批量测接口的东西,非常好用,postman 提供的条件选择和结果界面,还有其他一些小功能非常贴合程序猿的心,很人性化。我们可以使用这个功能一键测试这个 Collection 下的接口测试方案。


启动批量测试

  • 打开 Collection Runner Window,建议从具体的你自己某个 Collection 旁边的类似于?按钮打开它,而不是直接从客户端的上方工具栏里打开,因为工具栏里打开速度有时候会特别特别慢。
  • 点击Run就行啦~
  • 跑完的结果,绿的就是通过,红的就是没通过,灰色或者说没颜色的就是没调通
  • 如果你写了 Tests 的话,它是按照你写的测试用例来跑的,如果输出了某些信息的话,你也可以看到每次测试相应的信息输出。

搭建一个工作流

  • 主要依靠函数,postman.setNextRequest()
  • 依赖上述函数,使得每个请求结束后可以触发你的下一个请求,从而让你的 Request 们可以按照你规定的顺序动起来。
  • 注意!!!注意!!!注意!!!官方文档有话说!!!
    • postman.setNextRequest() 总是会本次请求的最后才执行,无论你是在 Pre-request Script 里还是 Tests 里的任何地方,它都会在最后一个执行。
    • postman.setNextRequest() 也有它自己的一个作用范围,有所限制。虽然它可以跳到任何一个你要求的其他请求,但是最多也就局限在它当前的 Collection 或者 Folders 里。

Jenkins 持续集成

  • 可以参考其他人的博客

Tips

执行顺序

  • Run 一个 Collection 的时候,它是默认按照右侧窗体 Run Order 里的顺序执行。
  • 如果你使用了 postman.setNextRequest() 函数想要规定每个 Request 的执行顺序的话,请注意!setNextRequest 函数的执行顺序会和 Order 的执行顺序一起发生作用,因此实际的执行顺序是,先执行 Order 顺序,再执行 setNextRequest 函数,不注意的话,非常容易死循环!
  • 根据官方的示例,postman build work-flow 官方文档,这个函数的真正用意是,在 Order 顺序下,跳过若干个 Request,设定下一个想要的 Request