前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Postman使用完全指南

Postman使用完全指南

原创
作者头像
诺浅
修改2020-08-20 18:02:05
1.2K0
修改2020-08-20 18:02:05
举报
文章被收录于专栏:工具使用

1. postman的环境变量

1.1. 全局变量

在这里插入图片描述
在这里插入图片描述

可以看到我的请求url中有个{{domain}},这是什么东西呢?这其实是环境变量,我们可以在如下设置环境变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2. 测试环境和生产环境设置不同的环境变量

这里设置的变量为全局变量,除此之外我们还可以根据不同的环境设置不同的变量,比如测试环境和生产环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接下来我们就可以使用这个环境的环境变量

在这里插入图片描述
在这里插入图片描述

在报文中通过{{username}}取值

1.3. 设置每一个请求的局部变量

除了上面的两种方式外,我们还可以设置每一个请求的局部变量

通过var定义一个变量,通过setGlobalVariable设置局部变量,如下所示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4. Postman的内置环境变量

除了自己设置的环境的变量外,Postman还内置了5个环境变量

代码语言:txt
复制
{{$guid}} //生成GUID 
{{$timestamp}} //当前时间戳 
{{$microTimestamp}} //当前毫秒时间戳 
{{$randomInt}} //0-1000的随机整数 
{{$randomFloat}} //0-1000的随机浮点数;

2. 如何依赖前一个接口的返回值

有时候比如我们有个查询接口,该接口需要先登录,拿到登录后的token,然后放到查询接口的请求头中查询接口才能查询,postman应该怎么设置呢?

第一步

创建一个集合

在这里插入图片描述
在这里插入图片描述

第二步

在登录接口的Tests中编写如下代码

代码语言:txt
复制
var jsonData = pm.response.json();
var token = jsonData.data.token;
pm.environment.set("token",token);

该代码的意思为获取返回的json值并且把他设置到环境变量中,除了environment.set设置环境变量,还有如下方法

代码语言:txt
复制
pm.environment.get("variable_key"); //获取环境变量
pm.environment.unset("variable_key"); //清除一个环境变量
pm.globals.set("variable_key", "variable_value"); //设置一个全局变量
pm.globals.get("variable_key"); //获取一个全局变量
pm.globals.unset("variable_key"); //清除全局变量
pm.variables.get("variable_key"); //获取变量,该函数在全局变量和活动环境中搜索变量

第三步

在查询接口的请求头中获取这个环境变量

在这里插入图片描述
在这里插入图片描述

3. Postman断言

断言,就是结果和预期对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。把如下代码写在Tests中

在这里插入图片描述
在这里插入图片描述

检查响应主体是否包含字符串

代码语言:txt
复制
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

检查响应主体是否等于一个字符串

代码语言:txt
复制
pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

检查JSON值

代码语言:txt
复制
pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

内容类型存在

代码语言:txt
复制
pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

响应时间小于200ms

代码语言:txt
复制
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

状态码是200

代码语言:txt
复制
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

4. Postman的其他比较有用的功能

加密并进行base64编码

代码语言:txt
复制
var hash = CryptoJS.HmacSHA1(s,key);
postman.setGlobalVariable("checksum", hash.toString(CryptoJS.enc.Base64));

base64解码

代码语言:txt
复制
var intermediate = CryptoJS.enc.Base64.parse(base64content);

发送异步请求,该功能既可以作为预先请求,也可以作为测试脚本使用

代码语言:txt
复制
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
    console.log(response.json());
});

4. 写在最后

以上设置完了记得按ctrl+s保存,不然不生效的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. postman的环境变量
    • 1.1. 全局变量
      • 1.2. 测试环境和生产环境设置不同的环境变量
        • 1.3. 设置每一个请求的局部变量
          • 1.4. Postman的内置环境变量
          • 2. 如何依赖前一个接口的返回值
          • 3. Postman断言
          • 4. Postman的其他比较有用的功能
          • 4. 写在最后
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档