繁体   English   中英

如何在 K6 中为函数应用迭代条件

[英]How to apply iterations condition for function in K6

我想执行一次注销功能和多次迭代的 dropDown 功能。 我需要在下面的代码中进行哪些更改。

        executors: {
            logout: {
                type: 'per-vu-iterations',
                exec: 'logout',
                vus: 1,
                iterations: 1,
                startTime: '30s',
                maxDuration: '1m',
                tags: { my_tag: 'LOGOUT'},
            },
       }};
    export function logout() {
        group('Logout API', () => {
            loginFunctions.logout_api();
        })
    }
    export function dropDown() {
        group('Drop Down API', () => {
        loginFunctions.dropDown_api();
        })
    }
    export default function () {
        logout();
        dropDown();
    }

也没有默认功能它不起作用。 获取执行程序默认值:在导出此错误中找不到函数“默认值”

不确定您在哪里看到executors ,这是选项的旧名称,在#1007合并和发布之前。 新的正确名称是scenarioshttps : //k6.io/docs/using-k6/scenarios

所以,要回答你的问题,代码应该看起来像这样:

import http from 'k6/http';
import { sleep } from 'k6';

export let options = {
    scenarios: {
        logout: {
            executor: 'per-vu-iterations',
            exec: 'logout',
            vus: 1, iterations: 1,
            maxDuration: '1m',
            tags: { my_tag: 'LOGOUT' },
        },
        dropDown: {
            executor: 'per-vu-iterations',
            exec: 'dropDown',
            vus: 10, iterations: 10, // or whatever
            maxDuration: '1m',
            tags: { my_tag: 'LOGOUT' },
        },
    }
};

export function logout() {
    console.log("logout()");
    sleep(1);
    // ...
}
export function dropDown() {
    console.log("dropDown()");
    sleep(1);
    // ...
}

但是,根据您的用例, logout()代码的最佳位置实际上可能是在teardown()生命周期函数中? 有关更多详细信息,请参阅https://k6.io/docs/using-k6/test-life-cycle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM