首页 > 解决方案 > 在 K6 的所有 API 中参数化相同的变量

问题描述

我正在从 json 响应中提取 json 值并将其存储到数组中并返回相同的数组,但值变得不确定。在设置功能中,我可以打印值。

export function setup() {
    let code = [];
    code = object.func_name();
    code.push();
    console.log('code:::' + code);     // code::: 92409391-4d82-8028-5yy
    return code;
}

export function abc(code) {
    console.log('code: ' + code);  
}

export default function(code) {
    console.log('code1: ' + code);  
}

获取TypeError: Cannot read property 'push' of undefined this error。但是当我改变推送功能时 -

if (!Array.isArray(authcode)) {
  authcode = [];
}
authcode.push();

我在 abc 和代码的默认函数中得到未定义的值。

标签: javascriptnode.jsautomated-testsload-testingk6

解决方案


let code = []当您object.func_name()应该从setup().

请记住,k6 中的每个 VU 都是不同的 JavaScript 运行时,并且setup()也在其自己独立的运行时中执行,因此您可以返回带有方法等的对象,仅返回纯数据。从返回的数据setup()本质上是序列化为 JSON,然后在每个 VU 中反序列化。


推荐阅读