gpt4 book ai didi

jmeter - 仅在 n 个断言错误后停止 JMeter 测试执行

转载 作者:行者123 更新时间:2023-12-01 12:35:57 26 4
gpt4 key购买 nike

问题

我正在 JMeter 2.13 中建模压力测试。我的想法是在达到某个响应时间上限后停止测试,我使用 Duration Assertion 节点进行测试。

但是,我不想在第一次这样的失败后停止测试执行——在其他情况稳定的情况下,它可能是单个事件。我希望在 n 这样的断言错误之后执行失败,因此我可以相对确定系统受到压力并且平均响应应该在我定义的上限附近,这就是我想要的停止整个事情。

我尝试了什么

我正在使用 JMeter 插件中的步进线程组。在那里,我可以使用复选框在出错后停止测试,但它是第一次这样做。我在文档中没有发现其他可以对其建模的节点,所以我猜我现在没有看到一个解决方法。

最佳答案

我建议切换到 Beanshell Assertion因为它更灵活,允许您在其中放置一些自定义代码。

例如你有 3 User Defined Variables :

  • threshold - 最大采样器执行时间。任何超过阈值的值都将被计算在内
  • maxErrors - 最大错误数,如果达到和/或超过,测试将停止
  • failures - 保存断言失败计数的变量。一开始应该为零。

User Defined Variables

示例断言代码:

long elapsed = SampleResult.getTime();

long threshold = Long.parseLong(vars.get("threshold"));

if (elapsed > threshold) {

int failureCount = Integer.parseInt(vars.get("failures"));
failureCount++;

int maxErrors = Integer.parseInt(vars.get("maxErrors"));

if (failureCount >= maxErrors) {
SampleResult.setSuccessful(false);
SampleResult.setResponseMessage(failureCount + " requests failed to finish in " + threshold + " ms");
SampleResult.setStopTest(true);
} else {

vars.put("failures", String.valueOf(failureCount));
}
}

示例断言工作:

Beanshell Assertion work

参见 How to use BeanShell: JMeter's favorite built-in component指南以了解有关使用脚本扩展 JMeter 测试的更多信息。

关于jmeter - 仅在 n 个断言错误后停止 JMeter 测试执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com