postman

1、postman介绍
    主要基础配置
    collections 接口请求
    APIs api文档
    Environments 环境配置(测试环境、线上环境、开发环境等)
    Mock servers 桩程序(前后端分离,前端已经开发好了,后端还没有,那么就可以自定义一个mock server服务器,前端)
    
    
2、postman发送get和post请求
    请求部分
    params get请求传参
    authorization 鉴权
    headers 请求头
    body post请求传参  
        form-data 既可以传键值对也可以传文件
        x-www-from-unlencoded 只能传键值对
        raw  传json、html、js、xml
    pre-request script 接口请求之前的脚本
    Tests 接口请求之后的脚本
    cookies  postman自动管理cookies的按钮
    
    响应部分
    body   响应的数据
    headers  响应的请求头
    cookies 响应的cookies
    Test results  查看断言结果

3、接口关联、接口依赖(js脚本)
    json提取
    //先转换为json格式 
    //responseBody 请求返回的数据
    var jsonData = JSON.parse(responseBody);
    //再根据key取值,并设置为全局变量(可以在look处查看全局变量)
    //pm.globals.set 设置全局变量
    pm.globals.set("access_token", jsonData.access_token);

    正则提取
    //设置正则规则并提取结果(为list,要取的值是下标为1的值)
    var access_token = responseBody.match(new RegExp('"access_token":"(.*?)"'));
    //设置为全局变量
    pm.globals.set("access_token", access_token[1]);

    cookie提取
    // 根据关键字提取会得到一个字典
    var token = postman.getResponseCookie('csrf_token');
    //直接.value提取值,并设置为全局变量
    pm.globals.set("csrf_token", token.value);

4、动态参数处理
    1、内置的动态参数
        {{$timestamp}} 时间戳
        {{$randomint}} 1-1000的整数
    2、自定义动态参数(重点)
        //自定义时间戳
        var times = Date.now()
        //接口请求停留三秒(不需要记)等等


5、全局变量和环境变量
    全局变量:所有接口可以访问到的变量
    环境变量: (开发环境、测试环境、生产环境等)

6、断言
//常见六大断言
//  断言返回响应吗为200
// 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");
// }); 

//  断言检查返回的json数据 
// 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");
// });  

//  断言请求头包含Content-type
// pm.test("Content-Type is present", function () {
//     pm.response.to.have.header("Content-Type");
// });  

//  断言响应时间小于200ms
// pm.test("Response time is less than 200ms", function () {
//     pm.expect(pm.response.responseTime).to.be.below(200);
// });  

postman内置的动态参数无法做业务断言所以必须使用自定义动态参数
断言里面取全局变量需要调用  get a global variable方法


7、必须带请求头的接口如何测试
    若不知道请求头则用fidder抓包复制请求头,然后粘贴即可
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值