将来自 Postman 请求的数据存储在变量中以用于测试
Store Data from Postman request in variables to use in tests
我目前正在尝试适应 POSTMAN,我想知道是否有一种方法可以存储我的请求中的变量 JSON 通过 Pre Request 在某些环境变量中的正文,以便我可以在响应测试中重新使用它价值支票
这就是我的 json 文件的样子
{
"text" : "myText",
"attachments": {
"text": "myText2",
"anotherText" : "myText3"
}
所以我想获取所有值,在发送我的请求之前将它们存储在一个变量中,然后测试它们是否与我的响应中的预期值匹配
(例如:myText2 被映射为绿色,myText3 被映射为红色等等)
这样就可以为多个请求编写一个测试
非常感谢!
您可以在脚本中写入以下内容:
let body = JSON.parse(pm.request.body);
_.forEach(body, (value, key) => pm.environment.set(key, JSON.stringify(value)));
这会将每个键及其关联值设置为环境变量。
请注意,在将其用于测试之前,您需要 JSON.parse
测试脚本中的值。
例如,在您的测试脚本中,您需要执行如下操作:
let attachments = JSON.parse(pm.environment.get('attachments'));
pm.test('All attachments are of correct value', function () {
// ...write your test here using the `attachments` variable
});
我目前正在尝试适应 POSTMAN,我想知道是否有一种方法可以存储我的请求中的变量 JSON 通过 Pre Request 在某些环境变量中的正文,以便我可以在响应测试中重新使用它价值支票
这就是我的 json 文件的样子
{
"text" : "myText",
"attachments": {
"text": "myText2",
"anotherText" : "myText3"
}
所以我想获取所有值,在发送我的请求之前将它们存储在一个变量中,然后测试它们是否与我的响应中的预期值匹配 (例如:myText2 被映射为绿色,myText3 被映射为红色等等)
这样就可以为多个请求编写一个测试
非常感谢!
您可以在脚本中写入以下内容:
let body = JSON.parse(pm.request.body);
_.forEach(body, (value, key) => pm.environment.set(key, JSON.stringify(value)));
这会将每个键及其关联值设置为环境变量。
请注意,在将其用于测试之前,您需要 JSON.parse
测试脚本中的值。
例如,在您的测试脚本中,您需要执行如下操作:
let attachments = JSON.parse(pm.environment.get('attachments'));
pm.test('All attachments are of correct value', function () {
// ...write your test here using the `attachments` variable
});