【问题标题】:Postman - conditionally running a request邮递员 - 有条件地运行请求
【发布时间】:2022-01-27 23:49:56
【问题描述】:

使用 Postman 的 Collection Runner 并读取 csv 文件时 - 我有两个请求:Get 和 Put。这些请求位于它们自己的文件夹中,而我正在从该文件夹中启动 Collection Runner。

Get 的响应只是返回 true 或 false。

Put 请求将其翻转为 false,仅此而已。所以我认为这很容易:

var jsonInfo = pm.response.json();
console.log(data["AppId"] + " = " + jsonInfo);
if (jsonInfo === true)
{
    console.log("Setting " + data["AppId"] + " to false.");
    postman.setNextRequest("Change-AppID-Decision-to-False");    
}

因为我不希望 Put 一直运行,所以在使用 Collection Runner 时我没有选中 Put。 Get 开始了,我知道它在将语句写入控制台时进入了 if 语句的主体,但 Put 在 Get 请求之后永远不会运行。

我承认我可以只运行 Put,因为在此处运行的所有 appId 都需要设置为 false,但就我自己的知识而言,我想知道这是否可能,因为感觉它应该是一个简单的邮递员应该能够做的有用的事情:)。想法?

【问题讨论】:

    标签: javascript api postman


    【解决方案1】:

    因为我不希望 Put 在使用时一直运行 Collection Runner 我没有选中 Put。

    这不起作用,因为 Postman Run 只考虑选中的请求。

    但修复应该很容易终止运行:

    postman.setNextRequest(null)
    

    所以你的代码应该是这样的:

    var jsonInfo = pm.response.json();
    console.log(data["AppId"] + " = " + jsonInfo);
    if (jsonInfo === true)
    {
        console.log("Setting " + data["AppId"] + " to false.");
        postman.setNextRequest("Change-AppID-Decision-to-False");    
    } else {
        console.log("Nothing to do now");
        postman.setNextRequest(null)
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 1970-01-01
      • 2021-01-23
      • 1970-01-01
      • 2019-11-16
      • 2017-06-17
      • 2020-05-22
      • 2018-10-22
      • 2019-07-31
      相关资源
      最近更新 更多