【问题标题】:Is it possible to reuse dynamic variable values without writing a pre-request script是否可以在不编写预请求脚本的情况下重用动态变量值
【发布时间】:2020-03-19 09:30:42
【问题描述】:

我有一个接受 json 的请求。在请求正文中,我想使用相同的动态变量两次。比如:

{
    "description": "{{$randomFirstName}}'s Home", 
    "first_name": "{{$randomFirstName}}",
    "first_name": "{{$randomLastName}}",
    "more_fields": "..."
}

但是,当我希望值相同时,简单地重复上述变量会导致 description 和 first_name 字段的名字不同。

我怎样才能做到这一点。我认为在预请求脚本中应该是可能的,但如果有某种方式可以做相当于

{
    "description": "{{firstName=$randomFirstName}}'s Home", 
    "first_name": "{{firstName}}",
    "first_name": "{{$randomLastName}}",
    "more_fields": "..."
}

不用担心预请求脚本,我可能更喜欢这样。

【问题讨论】:

    标签: postman faker dynamic-variables


    【解决方案1】:

    您可以通过使用.replaceIn() 函数并在沙盒环境中构造请求正文来实现此目的。

    将此添加到 POST 请求的Pre-request Script

    let firstName = pm.variables.replaceIn("{{$randomFirstName}}")
    
    let requestBody = {
        "description": `${firstName}'s Home`, 
        "first_name": `${firstName}`,
        "last_name": "{{$randomLastName}}",
        "more_fields": "..."
    };
    
    pm.variables.set("requestBody", JSON.stringify(requestBody)); 
    

    在请求正文中,添加这个不带引号的变量:

    {{requestBody}}
    

    当您发送请求时,它将解析变量并使用相同的名字。

    这是一个使用 Postman-echo 服务的示例:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 2020-06-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多