【发布时间】:2019-03-03 01:42:23
【问题描述】:
我正在尝试使用邮递员重新创建一个场景,并且在上一个 GET 请求响应正文中有一个 _csrf 值要与下一个 POST 请求一起传递。
我找不到从 POSTMAN 中提取值的方法。
注意:我想要的是类似于 Jmeter 中的正则表达式提取器的东西。如果您对从响应正文中提取值并将其设置为变量有任何想法。请告诉我。
干杯, 穆迪塔
【问题讨论】:
标签: variables dynamic extract postman
我正在尝试使用邮递员重新创建一个场景,并且在上一个 GET 请求响应正文中有一个 _csrf 值要与下一个 POST 请求一起传递。
我找不到从 POSTMAN 中提取值的方法。
注意:我想要的是类似于 Jmeter 中的正则表达式提取器的东西。如果您对从响应正文中提取值并将其设置为变量有任何想法。请告诉我。
干杯, 穆迪塔
【问题讨论】:
标签: variables dynamic extract postman
他们使用 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
【讨论】:
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 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);
【讨论】: