【问题标题】:POSTMAN: Extracting Values from body邮递员:从正文中提取值
【发布时间】:2019-03-03 01:42:23
【问题描述】:

我正在尝试使用邮递员重新创建一个场景,并且在上一个 GET 请求响应正文中有一个 _csrf 值要与下一个 POST 请求一起传递。

我找不到从 POSTMAN 中提取值的方法。

注意:我想要的是类似于 Jmeter 中的正则表达式提取器的东西。如果您对从响应正文中提取值并将其设置为变量有任何想法。请告诉我。

干杯, 穆迪塔

【问题讨论】:

    标签: variables dynamic extract postman


    【解决方案1】:

    这可能会帮助你https://media.readthedocs.org/pdf/postman-quick-reference-guide/latest/postman-quick-reference-guide.pdf

    他们使用 Cheerio

    2.2.5 如何解析 HTML 响应以提取特定值? 假设您想从下面的响应中获取 _csrf 隐藏字段值以供断言或以后使用:

    要解析和检索值,我们将使用 cherrio JavaScript 库:

    responseHTML = Cheerio(pm.response.text()); console.log(responseHTML.find('[name="_csrf"]').val());

    Cheerio 专为非浏览器使用而设计,并实现了 jQuery 功能的一个子集。阅读更多关于它的信息 https://github.com/cheeriojs/cheerio

    【讨论】:

    • 非常感谢,经过一番研究,我也找到了相同的解决方案:D
    【解决方案2】:
    responseHTML = cheerio(pm.response.text());
    var po= responseHTML.find('[name="_csrf"]').val();
    console.log(po);
    pm.environment.set("token", po);
    

    /* 您需要在 Postman 中设置环境并使用 get 请求在变量“here po”中捕获 CSRF 令牌。接下来在 post 请求中可以使用环境变量 token */

    【讨论】:

      【解决方案3】:

      刚刚在 post man 中制作了这个 JS 来解析没有 REGEx。希望对大家有所帮助

      要解析的文本:Json:提取数据 ID:

      {
          "code": "OK",
          "response": {
              "append": {
                  "html": {
                      "< .folders": "<a class=\"folder\" href=\"/foobarfoo\" data-id=\"ToExtract\"><div><i class=\"far fa-fw fa-folder\"></i></div><div class=\"folder-name\">blabla</div><div><div class=\"badge\">0</div></div></a>"
                  }
              }
          }
      }
      
      console.log(responseBody.response);
      
      var jsonData = JSON.parse(responseBody);
      var iStart = responseBody.indexOf("response\":")+10;
      var scenarioId = responseBody.substr(iStart,10);
      var iEnd = scenarioId.indexOf("}");
      var scenarioId = scenarioId.substr(0,iEnd);
      
      console.log("scenarioId:" + scenarioId + "iStart: "+ iStart + " scenarioId : " + scenarioId);
      pm.environment.set("scenario", scenarioId);
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-27
        • 1970-01-01
        • 2018-04-15
        相关资源
        最近更新 更多