首页 > 解决方案 > 将 Postman 请求中的数据存储在变量中以在测试中使用

问题描述

我目前正在尝试习惯 POSTMAN,我想知道是否有办法通过 Pre Request 在某些环境变量中存储我的请求 JSON 正文中的变量,以便我可以在响应值检查的测试中重新使用它

这就是我的 json 文件的样子

{  
"text" : "myText",  
"attachments": {  
    "text": "myText2",  
    "anotherText" : "myText3"  
}

所以我想获取所有值,在发送我的请求之前将它们存储在一个变量中,然后测试它们是否与我的响应中的预期值匹配(例如:myText2 被映射为绿色,myText3 被映射为红色等等)

这样就可以为多个请求编写一个测试

非常感谢!

标签: postmanweb-api-testing

解决方案


您可以在脚本中编写以下内容:

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
});

推荐阅读