首页 > 解决方案 > k6 多个导出函数中的相同环境变量

问题描述

我可以在多个导出函数中使用相同的环境变量吗?

export function login() {
    group('Login API', function () {
        __ENV.code = 'code getting from api response';
        console.log("code is : " + __ENV.code);             // getting correct value
    });
  group('Login API', function () {
        console.log("code is : " + __ENV.code);             // getting correct value
    });
}

export function api1() {
    group('1. APIs', function () {
        console.log(`code in 1 : ${__ENV.code}`);          // getting undefined value
    });
    group('2. APIs', function () {
        console.log("code in 2 : " + __ENV.code);          // getting undefined value
    })
}

如果我在同一个导出函数中使用同一个 env 变量,那么我得到的值是正确的。我也可以在其他页面/屏幕上使用相同的环境变量。但是在同一页面上,如果我在不同的导出函数中使用该环境变量,那么我会得到未定义的响应。如上代码所示。

我在做什么错?(我是 K6 的新手(初学者))

标签: javascriptperformance-testingload-testingbuild-automationk6

解决方案


您只能从脚本外部设置环境变量,例如通过运行k6 run -e CODE=abc your_script.js

然后,您可以通过读取 __ENV.CODE脚本来访问值“abc” 。在脚本运行时,您不能将其设置为不同的值(如您所见)。


推荐阅读