postman使用指北

粘贴 cURL 请求

1724381954004_1h4gs23llx

环境设置

作用:方便切换不同环境,比如配置本地环境/测试环境/线上环境,通过切换环境就可以请求对应环境的接口

  • 配置环境

1724382099854_p4knk4pld8

  • 切换环境请求

1724382191899_srz1hh2woj

Pre-request Script

可以在发送请求之前执行一些脚本操作

1. 常用指令

// 获取请求方法
pm.request.method

// 设置 header
pm.request.headers.add({
    key: 'key',
    value: 'value'
});

// 设置 cookie
pm.request.headers.add({
    key: 'Cookie',
    value: "cookie_value"
});

2. 请求鉴权

后端为了服务接口不被恶意攻击,一般会有鉴权的校验,比如在 header 头中加入 tsnonce 等,就可以在 postman 中通过 pre-request script 统一封装起来进行调用

示例代码

function randomString(e) {    
    e = e || 32;
    var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",
    a = t.length,
    n = "";
    for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a));
    return n
}

function getParam(body) {
    var keys = [];
    for (let k in body) {
        let value = body[k];
        if (Array.isArray(value)) {
            value = JSON.stringify(value);
        }
        keys.push(k + "=" + value);
    }
    keys.sort();
    let keys_str = keys.join("&");
    return keys_str;
}

var app = "app"
var secret = "key"
var ts = Math.round (new Date().getTime()/1000)
var nonce = randomString(16)
var param = ""
if (pm.request.method === "POST") {
    param = getParam(JSON.parse(request.data))
}

pm.request.headers.add({
    key: 'app',
    value: app
});
pm.request.headers.add({
    key: 'ts',
    value: ts
});
pm.request.headers.add({
    key: 'nonce',
    value: nonce
});
console.log(app+secret+ts+param+nonce)
pm.request.headers.add({
    key: 'sign',
    value: CryptoJS.MD5(app+secret+ts+param+nonce).toString()
});

3. 在 json 请求体中写注释

postman 没有很好的写接口注释的地方,对于 post 请求无法直接在参数后面写注释(不符合 json 规范),通过脚本的方式达到既写注释又可以发送请求的目的

// 需要在Pre-request Script中这样写,去除掉注释
if (pm?.request?.body?.options?.raw?.language === 'json') {
    const rawData = pm.request.body.toString();
    const strippedData = rawData.replace(
        /\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,
        (m, g) => g ? "" : m
    );
    pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));
}

1724382856856_jtnmtuhgyq

Get 请求 Encode

在发送 get 请求时,可以右键参数 encode 请求,方便发送

1724382983052_773f7f7a17

参考链接

Postman 高级用法

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Postman是一款非常流行的API开发和测试工具,用于发送HTTP请求并查看响应。它可以帮助开发人员和测试人员更方便地进行API调试和测试工作。 Postman提供了一个用户友好的界面,允许用户轻松创建、发送和管理HTTP请求。用户可以选择不同的请求方法(如GET、POST、PUT、DELETE等),设置请求头、请求参数和请求体,并发送请求来与API进行交互。用户还可以查看请求的响应,包括状态码、响应头和响应体等信息。 此外,Postman还提供了一些高级功能,比如环境变量管理、集合管理、测试脚本编写和断言等。用户可以使用环境变量来管理不同的环境(如开发、测试、生产环境),方便切换不同的API终点。而集合管理功能可以将一组相关的API请求组织在一起,方便进行批量测试和自动化测试。 对于需要批量运行Postman脚本的情况,可以使用Newman插件来实现命令行执行。Newman是Postman官方提供的命令行工具,可以通过它来运行Postman的集合和环境,从而实现自动化测试和持续集成。用户需要先安装Node.js,然后通过npm安装Newman。 在持续集成构建方面,可以将Postman集成到Jenkins中。Jenkins是一款开源的持续集成工具,可以通过配置构建任务来自动运行Postman集合。用户可以在Jenkins中配置定时触发、触发条件和报告生成等功能,实现自动化的API测试和集成测试。 总结起来,Postman是一款功能强大的API开发和测试工具,可以帮助开发人员和测试人员更高效地进行API调试和测试工作。使用Postman可以方便地发送HTTP请求、查看响应,并提供了一些高级功能如环境变量管理、集合管理和测试脚本编写等。同时,还可以通过Newman插件实现命令行执行和通过Jenkins进行持续集成构建。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Postman使用教程.pdf](https://download.csdn.net/download/hong521520/12614253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Postman使用教程详解](https://blog.csdn.net/weixin_45781774/article/details/120355183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值