POSTMAN:从正文中提取值

POSTMAN: Extracting Values from body

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

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

注意: 我想要的是类似于 Jmeter.If 中的正则表达式提取器的东西,您对从响应主体中提取值并将其设置为多变的。请告诉我。

干杯, 穆迪萨

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

他们使用 Cheerio

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

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

响应HTML = cheerio(pm.response.text()); console.log(responseHTML.find('[name="_csrf"]').val());

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

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可以使用*/

刚刚在 post 中使这个 JS 在没有正则表达式的情况下解析。希望对以后的人有所帮助

要解析的文本:Json:提取data-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);