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

Posted

技术标签:

【中文标题】如何在 K6 中为函数应用迭代条件【英文标题】:How to apply iterations condition for function in K6 【发布时间】:2020-10-06 09:21:39 【问题描述】:

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

        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();
    

也没有默认功能,它不起作用。获取 executor default: function 'default' not found in exports 这个错误

【问题讨论】:

【参考方案1】:

不确定您在哪里看到executors,这是选项的旧名称,在#1007 被合并和发布之前。新的正确名称是scenarios:https://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

【讨论】:

谢谢。它工作正常。还尝试了 test-data-cycle 。

以上是关于如何在 K6 中为函数应用迭代条件的主要内容,如果未能解决你的问题,请参考以下文章

用于创建和填充 k6 指标的函数

如何在我的可视 C# Web 服务中为我的 android 应用程序调用 LINQ 中的用户定义函数?

如何在 R 中的单个数据帧上迭代地应用函数?

C++ STL应用与实现17: 如何使用迭代器辅助函数

如何根据计数器应用多个条件,并使用 pandas 和 python 在 excel 中为每个条件提供输出?

在 spark scala 中为 withcolumn 编写通用函数