如何在 K6 中处理 Bearer 令牌

Ese*_*pee 5 javascript performance postman bearer-token k6

正如标题所暗示的,到目前为止,我面临着一些关于使用 K6 的不记名令牌授权的“疑问”,因为我从 getAuth 方法/服务接收该令牌作为access_token ,现在我有以下内容:

getAuthtoken.js

import http from 'k6/http';
import { check, sleep } from "k6";
import * as general_data from '../utility/general.js';
import * as auth_data from '../utility/authentication.js';

export default function () {
  var url = `${general_data.baseUrl}${auth_data.url}`;
  var payload = JSON.stringify(auth_data.body);

  const headers = {
    headers: auth_data.headers,
};
  const res = http.post(url, payload, headers);
  check(res, {
      'status was 200': r => r.status == 200,
  })
  console.log(res.body)
  return res.json()
}

Run Code Online (Sandbox Code Playgroud)

Json 响应如下所示:

{
    "access_token": "vHS9awrfrzTWxMGpAsVNWD2aSsKXkoGBZg8RgCSoQDo",
    "token_type": "Bearer",
    "expires_in": 900,
    "refresh_token": "f2SxXA0Nbr-OXE8RlVonej3xaKc-zifO4ZVMcGIGTAM",
    "scope": "public",
    "created_at": 1643633573
}
Run Code Online (Sandbox Code Playgroud)

因此,我需要以某种方式获取此access_token令牌类型承载者,以便能够在另一个 .js 文件中使用它并使用每个 API 方法,例如,在此脚本中使用它:

getWorkflowsRampUp.js

import http from 'k6/http';
import { check, sleep } from "k6";
import * as general_data from '../utility/general.js';
import * as auth_data from '../utility/authentication.js';
import * as workflows_data from '../utility/workflows.js';

export let options = {
    stages: [
        { duration: "10s", target: 2 }, 
        { duration: "20s", target: 5 },      
        { duration: "5s", target: 0 }
    ]
  };

export default function () {
  var url = `${general_data.baseUrl}${workflows_data.url}`
  var payload = JSON.stringify(auth_data.body);
  const res = http.get(url, payload, {
    headers: auth_data.headers
    }
  );
  check(res, {
      'status was 200': r => r.status == 200
  })
  console.log(res.body)
  sleep(1);

}
Run Code Online (Sandbox Code Playgroud)

任何指导将不胜感激,因为我无法找到任何具体信息或指导来完成这些甚至购买了一些 Udemy 课程,甚至没有接近这种情况:(

一如既往地提前感谢大家,祝您度过愉快的一周!