V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
BraveXaiver
V2EX  ›  问与答

请问 postman 可以在请求头和请求体中,设置某个字段每次请求自动按某个规则用新值吗?

  •  
  •   BraveXaiver · 2022-09-07 08:45:43 +08:00 · 1800 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT ,在用 postman 测试某个接口的时候,这个接口在请求头中会期待一个 uuid 的 header ,在请求体中会期待一个 req_id 的 field 。而这两个的值,理论上每次请求都应该是不同的。

    不知道能不能够在 postman 里写 java 代码,让每次请求时自动调用这段代码,生成新的值置入这两个地方。

    谢谢
    15 条回复    2022-10-22 10:04:59 +08:00
    Armor
        1
    Armor  
       2022-09-07 08:51:53 +08:00   ❤️ 1
    postman 是支持脚本和环境变量的,不知道是不是你要的功能?
    jpyl0423
        2
    jpyl0423  
       2022-09-07 08:53:09 +08:00   ❤️ 1
    Pre-request Script 里可以设置变量,没试过 java, javascript 可以
    FawkesV
        3
    FawkesV  
       2022-09-07 09:38:58 +08:00   ❤️ 1
    Pre-request
    xuelu520
        4
    xuelu520  
       2022-09-07 09:54:39 +08:00
    可以取 random+时间戳就行了。可以写 JS 的代码
    flashBee233
        5
    flashBee233  
       2022-09-07 09:58:03 +08:00   ❤️ 1
    Pre-request Script 设置变量 每次请求获取这个环境变量
    codeMore
        6
    codeMore  
       2022-09-07 10:18:47 +08:00   ❤️ 3
    pre-request script 里加段代码,生成 uuid ,目前好像都是 js 的代码,java 的不太清楚
    function guid() {
    return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
    var r = Math.random() * 16 | 0,
    v = c == 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
    });
    }
    UUID = guid()

    console.log("uuid ", UUID)
    //设置环境变量
    postman.setEnvironmentVariable("uuid", UUID);

    然后请求 param 或者其他地方直接使用{{uuid}}即可
    silentsky
        7
    silentsky  
       2022-09-07 10:44:03 +08:00
    用 apifox 吧 postman 卡 可以写前置脚本
    Seayon
        8
    Seayon  
       2022-09-07 10:48:20 +08:00
    @silentsky 我感觉 apifox 更卡
    silentsky
        9
    silentsky  
       2022-09-07 11:00:06 +08:00
    apifox 可以写 java ,也可以将逻辑转换成 js 执行
    cxxlxx
        10
    cxxlxx  
       2022-09-07 11:09:14 +08:00
    postman 可以 js 写脚本
    holystrike
        11
    holystrike  
       2022-09-07 11:25:06 +08:00   ❤️ 1
    wellerman
        12
    wellerman  
       2022-09-07 13:38:43 +08:00
    6 楼标准答案
    brucmao
        13
    brucmao  
       2022-09-07 20:19:51 +08:00 via iPhone
    用 jmeter 吧,可以写 Java ,可以写 Groovy
    BraveXaiver
        14
    BraveXaiver  
    OP
       2022-10-22 09:04:59 +08:00
    @Armor
    @jpyl0423
    @flashBee233
    @codeMore
    @holystrike

    谢谢各位的建议,我想问下,我设置了个随机数为请求头种的 uuid 的值,在请求发出后,出了后端的日志,在 postman 里该怎么看这个随机值是啥啊。。谢谢
    codeMore
        15
    codeMore  
       2022-10-22 10:04:59 +08:00
    在 pre-request script 加上打印就行了吧
    console.log("要打印的内容")
    然后点开 postman 下面的 console 框,里面就有具体的值
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1093 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:27 · PVG 07:27 · LAX 15:27 · JFK 18:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.