postman - 将 Postman 请求中的数据存储在变量中以在测试中使用
问题描述
我目前正在尝试习惯 POSTMAN,我想知道是否有办法通过 Pre Request 在某些环境变量中存储我的请求 JSON 正文中的变量,以便我可以在响应值检查的测试中重新使用它
这就是我的 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
});
推荐阅读
- asp.net - 如何在 ASP.NET 中重置 Request.ServerVariables("SERVER_NAME")?
- javascript - 说明在一个参数和一个操作数(除法或乘法)的情况下如何使用 RPN 计算器
- ios - 如何使用 section 参数遍历集合内的每个文档以访问子集合的计数?
- prolog - 在 prolog 中使用 abs() 构建列表
- tensorflow - ai-platform + gsutil 权限错误:AttributeError:“GFile”对象没有“可读”属性
- artifactory - Artifactory 旧工件清理 (CLI + AQL)
- javascript - 谷歌地图在 Vaadin 14
- r - R:过滤 %in% 范围不过滤带小数的值
- python - 如何在 python 列表中进行字符串操作(连接)?
- regex - SPARQL - 查找来自特定命名空间的所有属性