从 k6 中的文件读取

Rag*_*nar 1 javascript performance stress-testing load-testing k6

是否有读取 csv 文件以获取测试数据的最佳实践方法?

假设我有一个如下所示的 CSV 文件:

username,password
joe,secret1
jane,secret2
bill,secret3
Run Code Online (Sandbox Code Playgroud)

...我想在 k6 脚本中使用这些用户名和密码。

Rag*_*nar 6

是的!您可以open()在 init 上下文(outside export default function() {...})中使用该函数。如果文件中有 JSON 数据,下面是一个示例:

import { sleep } from "k6";

const data = JSON.parse(open("./data.json"));

export default function() {
  let user = data[__VU - 1];
  console.log(`${user.username}, ${user.password}`);
  sleep(3);
}
Run Code Online (Sandbox Code Playgroud)

data.json...如果您有一个看起来像这样的数据文件:

[
  {
   "username" : "user1", 
   "password" : "test" 
  },
  {
   "username" : "user2", 
   "password" : "test" 
  }
]
Run Code Online (Sandbox Code Playgroud)

为了对 CSV 做同样的事情,我会寻找 JS CSV 解析库并将其作为模块导入