如何在 k6 中使用多个自定义 headers 发出简单的 POST 请求
How to make a simple POST request in k6 with multiple custom headers
我无法让这个脚本在我的生活中工作,因为我收到错误:INFO[0001] {"error":{"code":2,"message":"Invalid or Missing X-App-Token ","文档":""}}
但是,带有此 header 的 curl 请求工作正常。这是我们在整个项目中使用的自定义 header。我找不到任何传入多个 header 的 k6 示例。curl 请求也不需要接受 header,因此只尝试传入 X-App-Token,没有更改。尝试使用逗号和括号。我相信我正确传递了 header。
import encoding from 'k6/encoding';
import http from 'k6/http';
import { check } from 'k6';
export default function () {
var url = 'https://api.mycompany.com/test/scenarios/PropertyManager';
const params = {
headers: {
'X-App-Token':'<proprietary string>',
'accept':'application/json'
},
timeout: 2000,
};
let res = http.post(url, params);
console.log(res.body);
// Verify response
check(res, {
'status is 200': (r) => r.status === 200
});
}
2 参数 http.post
将第二个参数视为 POST 数据,而不是 params
。
你应该使用 3 参数 http.post
:
let res = http.post(url, {}, params);
假设您发送的 POST 请求没有 POST 数据,否则修改空对象。
我无法让这个脚本在我的生活中工作,因为我收到错误:INFO[0001] {"error":{"code":2,"message":"Invalid or Missing X-App-Token ","文档":""}}
但是,带有此 header 的 curl 请求工作正常。这是我们在整个项目中使用的自定义 header。我找不到任何传入多个 header 的 k6 示例。curl 请求也不需要接受 header,因此只尝试传入 X-App-Token,没有更改。尝试使用逗号和括号。我相信我正确传递了 header。
import encoding from 'k6/encoding';
import http from 'k6/http';
import { check } from 'k6';
export default function () {
var url = 'https://api.mycompany.com/test/scenarios/PropertyManager';
const params = {
headers: {
'X-App-Token':'<proprietary string>',
'accept':'application/json'
},
timeout: 2000,
};
let res = http.post(url, params);
console.log(res.body);
// Verify response
check(res, {
'status is 200': (r) => r.status === 200
});
}
2 参数 http.post
将第二个参数视为 POST 数据,而不是 params
。
你应该使用 3 参数 http.post
:
let res = http.post(url, {}, params);
假设您发送的 POST 请求没有 POST 数据,否则修改空对象。