我正在运行一个包含多个请求的 for 循环,以便从我们的 API 中提取信息。唯一的问题是,我收到控制台错误,指出需要令牌和客户端标头才能查看响应。尽管在测试脚本中,我只能在邮递员中添加一个标头。有什么我没看到的吗?
for (k = 0; k < id.length; k++) {
const emailRequest = {
url: "" + id[k] + "/products",
method: "GET",
header: [{
'key': "X-Auth-Token",
"value": "",
}
],
body:{
mode: 'application/json',
raw: JSON.stringify({
client_id: '',
})
}
};
}
标头不是数组。它作为一个对象传递,每个标头都有一个名称/值对。 标题应如下所示
header: {
'X-AUTH-TOKEN': 'mytoken',
'Content-Type': 'application/json'
}
我有一些东西可以帮助你: 我的要求:
key value
"X-Auth-Token" "38432904832904"
"Content-Type" "application/json"
解决方案:在Pre-request脚本中添加此脚本
pm.request.headers.add({
key:"X-Auth-Token",
value:"38432904832904"
});
pm.request.headers.add({
key:"Content-Type",
value
})
为什么不使用多个标头和变量来实现此目的 - 然后您可以根据需要使用脚本操作变量。
有用的链接: https://learning.getpostman.com/docs/postman/environments_and_globals/variables/
我刚刚创建了一个标头和/或查询参数数组,并添加了几个辅助函数,如下所示:
const headers = [
{
key: 'Accept',
value: 'application/json'
},
{
key: 'X-Application',
value: 'app_name'
},
{
key: 'Cookie',
value: 'session_id_1=123456'
},
{
key: 'Cookie',
value: 'session_id_2=456789'
}
];
headers.forEach((header) => pm.request.headers.add(header));
const params = [
{
key: 'auth_token',
value: 'abc123'
}
];
params.forEach((param) => pm.request.addQueryParams(param));