在Ubuntu 16.04上使用Postman 5.5.0。我为我的整个集合定义了以下预请求脚本。我的目标是在集合级的每个请求上设置一个标头,而不必手动添加它。
console.log('adding "Authorization: Token {{apiToken}}" header to current request');
pm.request.headers.add({
key: 'Authorization',
value: 'Token {{apiToken}}'
});
console.log(pm.request.headers);
我还尝试使用value: 'Token '+pm.environment.get('apiToken')
直接设置标头值。
这两种方法都没有将其添加到请求中。 pm.request.headers
报告说它在那里,但是显示时间,肯定不是。这是控制台输出:
我还尝试将disabled: false
添加到传递给add
的对象,具体取决于我手动将标头添加到单个请求中的内容。
发生了什么事?
答案 0 :(得分:0)
如果您尝试使用{{...}}
或Pre-request Script
标签中的Tests
语法,则不会为您设置环境变量值,如这只能在URL,Headers和Request主体中使用。
您在代码中使用它的方式始终只是将Authorization
键设置为字符串 - '令牌{{apiToken}}'。
获得价值的一种完全可怕的方式是:
pm.request.headers.add({
key: 'Authorization',
value: `Token ${pm.environment.get('apiToken')}`
});
但同样不会在集合级别设置标题。
您可以在pre-request script
的集合级别将其添加为全局变量 - 然后可以将其添加到每个请求中。