在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:无法读取未定义的属性“ push” 。 但是当我更改推送功能时-

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

我在abc中获得了值未定义代码功能

解决方法

当您应该从let code = []返回简单数据时,您将用object.func_name()返回的内容(可能是某个对象)覆盖数组setup()

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