Postman 中级使用教程,你真的会用Postman吗?

大家好呀,我是阿杆(不是阿轩),今天给大家带来一篇Postman中级使用教程,希望给大家带来帮助。(PS:本文是我很久之前写的,在发布公众号之前进行了一点点优化,但整体的行文和讲述上可能都不太好,如果看的不爽,可以私信拍砖我
首先介绍一个Postman转中文版的方式,GitHub链接:https://github.com/hlmd/Postman-cn(仓库已经停止更新,仅9.12.2及以下版本可用)

本文目录:

  • 全局变量和环境变量

  • 接口关联

    • 编写测试脚本

  • 动态参数

    • 内置动态参数

    • 自定义动态参数

    • 获取全局变量的方式:

  • 断言

  • MokeService

  • 编写接口文档

  • 保存测试示例

  • 后记


全局变量和环境变量

定义好的全局变量和环境变量,可以在接口中进行引用。

Postman 中级使用教程,你真的会用Postman吗?
image-20221005105105245

定义和使用环境变量的方法:

  1. 新增环境时你可以点击左上角那个加号,然后在环境中添加你要用到的公共变量。

    Postman 中级使用教程,你真的会用Postman吗?
    image-20221005105145316
  2. 这个功能一般用于像 url前缀 这种很多地方都会重复使用的变量。引用方法为两个花括号中间放你要引用的变量,例如:{{url}},就像这样:

    Postman 中级使用教程,你真的会用Postman吗?
    image-20221005105224552
  3. 当然如果你需要在多个环境下进行切换的话,也不需要总是去修改 url 的值,你可以多建几个环境变量,然后在右上角进行快速切换:

    Postman 中级使用教程,你真的会用Postman吗?
    image-20221005105309056
  4. 点击小眼睛可以看到你当前正在使用的环境中有哪些变量:

    Postman 中级使用教程,你真的会用Postman吗?
    image-20221005105414419

接口关联

实际上也是利用全局变量,多个接口之间读取同一个变量的值,以此来达到上下文关联的目的,下面我们通过一个案例来进行学习。

编写测试脚本来保存登录信息

Postman 中级使用教程,你真的会用Postman吗?

预请求脚本和测试脚本都可以写js代码,他们的区别是,预请求脚本是在发送请求之前运行的,而测试脚本是在发送完毕后运行的。

在测试脚本中获取数据并设置为全局变量,例如登录时得到的token:

var result = postman.getResponseHeader("token"); // 获取响应头中的token字段

console.log(result);

pm.globals.set("token", result); // 把token放到全局变量里

这样设置得到的全局变量token就可以被用于其他接口上,使用 {{token}} 来引用变量。

Postman 中级使用教程,你真的会用Postman吗?



动态参数

内置动态参数

  • {{$timestamp}}  生成当前时间的时间戳
  • {{$randomint}}  生成0-1000之间随机数
  • {{$guid}} 生成速记GUID字符串

自定义动态参数

在预请求脚本中通过js代码来设置变量,使用时使用 {{times}} 来获取变量,和接口关联中编写的测试脚本差不多。

var times = Date.now();

pm.globals.set("times", times);

断言

可以使用断言来判断请求是否成功,用做自动化测试。

postman支持多种断言方式,在测试脚本的右侧可以看到,点击蓝色的字可以直接获取到代码:

Postman 中级使用教程,你真的会用Postman吗?
image-20221005105632378

下面列举几条常用的:

pm.test("Status code is 200"function ({
 pm.response.to.have.status(200);
});
pm.test("Body matches string"function ({
 pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
pm.test("Your test name"function ({
 var jsonData = pm.response.json();
 pm.expect(jsonData.value).to.eql(100);
});
pm.test("Body is correct"function ({
 pm.response.to.have.body("response_body_string");
});

MokeService

创建模拟服务器。在后端接口还没有开发完毕之前,前端想要调用接口,可以先使用postman提供的模拟服务器功能。

Postman 中级使用教程,你真的会用Postman吗?
image-20221005105933367

创建一个模拟服务器,只需要设置请求名,postman会自动生成一个url提供给你临时使用,该url可以直接使用外网进行访问,但返回的数据是固定的,不过给前端临时使用是足够的。

编写接口文档

在每个接口的右侧都有一个文档的按钮,点击即可对当前接口编辑说明:

Postman 中级使用教程,你真的会用Postman吗?
image-20221005110058878

测试的接口和编写好的文档可以直接生成文档,在集合的选项里可以查看到:

Postman 中级使用教程,你真的会用Postman吗?
image-20221005110153753

然后文档的右上角有一个发布的按钮,点击发布好像可以生成在线文档,但是我还没有用过。

Postman 中级使用教程,你真的会用Postman吗?
image-20221005110218890

保存测试示例

发送完成的请求,可以将请求结果保存起来,提供给其他人参考。保存好了示例会显示在左侧集合中,被放在该接口下。

Postman 中级使用教程,你真的会用Postman吗?
image-20221005110404880

后记

上面这些功能,你掌握了几个?🤣🤣

伴可以🤯

Postman 中级使用教程,你真的会用Postman吗?



往期推荐

我说MySQL每张表最好不超过2000万条数据,面试官让我回去等通知?

那些奇奇怪怪的参数校验你是怎么处理的?我选择向 @NotNull 学习

踩了一堆坑,终于把微服务系统全面升级 JDK17 和 SpringBoot3 了

应届生学习Java八个月,offer年薪28W,这一年我经历了什么?


原文始发于微信公众号(程序员阿杆):Postman 中级使用教程,你真的会用Postman吗?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238856.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!