如何在 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 数据,否则修改空对象。