postman 使用简单汇总

postman官网下载地址:https://www.postman.com/downloads/

Postman支持功能

1、快速构建

2、参数化与变量设置提取

3、查看请求数据

4、提供断言功能

5、批量运行

6、设置环境变量

Postman使用

构建请求

1、get请求,如果带有参数,可通过?追加到路径

2、post请求,参数格式支持:

  FORM格式:Body –> form-data

  JSON格式:Body –> raw –> JSON

  文件格式:  Body –> form-data –> File

参数化与预处理

在 Pre-request Script 和 Tests 脚本中使用封装好的语句获取或者设置对应变量

 请求参数化:

  FORM格式:

      

  JSON格式:

  {
      "demo1": "{{timeFormat}}",
      "remark": "标题{{$randomDomainWord}}",
      "name": "{{$randomStreetName}}"
  }

自定义参数预处理:便于参数引用定义的变量

复制代码
//自定义的变量,可在请求中使用
//设置测试集变量,适用范围:在定义的测试集可用其他测试集不可用
pm.collectionVariables.set("demo1",("0000" +
(Math.random()*Math.pow(36,7) << 0).toString(36)).slice(-7));

//设置全局变量
var moment = require('moment');
var date = moment().format("YYYY-MM-DD HH:mm:ss"); 
// 输入到控制台,查看参数设置是否正确
console.log(date);
pm.globals.set("demo2", date);

// 设置环境变量
pm.environment.set("book_url", "www.baidu.com"); //域名
复制代码

 

查看请求与响应数据

请求与响应原始数据:可通过postman控制台console查看:

响应结果数据:

 

 

提供断言功能

断言一般验证:

  验证服务响应状态码
  验证响应体中是否包含某个字符串
  验证响应体中某个值是否等于预期值
  
断言设置入口:

 

 断言模板demo:

复制代码
/ Status Code:Code is 200
// 验证响应状态码
pm.test("响应状态码为 200", function () {
    pm.response.to.have.status(200);
});

// Response Body:contains string 
// 验证响应体中是否包含某个字符串
pm.test("响应体中包含预期的字符串", function () {
    pm.expect(pm.response.text()).to.include("xxx");
});

// Response Body:JSON value check
// 验证 JSON 中的某个值是否等于预期的值
pm.test("书籍名称为 xxx", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData[0].name).to.eql("xxx");
});

// Response Body:Is equal to a string
// 验证响应体是否与某个字符串完全相同
pm.test("响应体正确", function () {
    pm.response.to.have.body("response_body_string");
});

// Response Body:Content-Type header check
// 验证响应头信息中的 Content-Type 是否存在
pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

// Response time is less than 200ms
// 验证响应时间是否小于某个值
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});
复制代码

 

批量运行

批量运行,既可以是整个项目集也可以是项目下某个模块。

 

 

设置环境变量&提取变量

设置环境变量:

pm.environment.set("book_url", "www.baidu.com"); //域名

 提取变量:

复制代码
// 获取已被定义过的全局变量
var status = pm.globals.get("status");
// 获取已被定义过的测试集变量
var petId = pm.collectionVariables.get("petId");
// 获取环境变量
var url = pm.environment.get("baseURL");

//提取服务端返回的数据
 var jsonData = pm.response.json();
 var var1= jsonData.data.var1; //提取服务端返回的var1
 var var2= jsonData.data.var2; //提取服务端返回的var2
 pm.globals.set("var1", var1);
 pm.globals.set("var2", var2); //把提取的值设置为全局变量,供之后 
                                                   //关联的接口使用
复制代码

 

变量的优先级

优先级从高至低为:Data -> Enviroment -> Collection -> Global -> Local

posted @   钟爱酷夏  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示