如何在 K6 中为函数应用迭代条件
How to apply iterations condition for function in K6
我想执行一次注销功能和多次迭代的下拉功能。我需要在下面的代码中进行哪些更改。
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();
}
同样,如果没有默认功能,它也无法正常工作。正在获取 执行程序默认值:函数 'default' 未在导出中找到 此错误
不确定您在哪里看到 executors
,这是选项的旧名称,在 #1007 was merged and released. The new and correct name is 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
我想执行一次注销功能和多次迭代的下拉功能。我需要在下面的代码中进行哪些更改。
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();
}
同样,如果没有默认功能,它也无法正常工作。正在获取 执行程序默认值:函数 'default' 未在导出中找到 此错误
不确定您在哪里看到 executors
,这是选项的旧名称,在 #1007 was merged and released. The new and correct name is 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