gpt4 book ai didi

jenkins - JMeter - 基于平均响应时间的测试失败

转载 作者:行者123 更新时间:2023-12-05 04:16:28 25 4
gpt4 key购买 nike

我正在使用性能插件在 Jenkins 中运行 JMeter 作业。如果平均响应时间 < 3 秒,我需要让工作失败。我在 jmeter 中看到了“持续时间断言”,但它适用于每个线程(每个 http 请求)。相反,是否可以对每个页面平均进行持续时间断言?

这是我尝试添加 BeanSehll 监听器和断言的方式。

Recording Controller
**Home Page**
BeanShell Listener
Debug Sampler
**Page1**
BeanShell Listener
Debug Sampler
Beanshell Assertion
View Results Tree

最佳答案

您可以通过某种形式的 Beanshell 实现此检查脚本

  1. 添加 Beanshell Listener与您的所有请求处于同一级别
  2. 将以下代码放入Beanshell Listener的“脚本”区

    String requests = vars.get("requests");
    String times = vars.get("times");
    long requestsSum = 0;
    long timesSum = 0;

    if (requests != null && times != null) {
    log.info("requests: " + requests);
    requestsSum = Long.parseLong(vars.get("requests"));
    timesSum = Long.parseLong(vars.get("times"));
    }

    long thisRequest = sampleResult.getTime();
    timesSum += thisRequest;
    requestsSum++;

    vars.put("requests", String.valueOf(requestsSum));
    vars.put("times", String.valueOf(timesSum));


    long average = timesSum / requestsSum;

    if (average > 3000){
    sampleResult.setSuccessful(false);
    sampleResult.setResponseMessage("Average response time is greater than threshold");
    }

    上面的代码会将每个请求的响应时间总和和请求总数记录为timesrequests JMeter Variables

参见 How to use BeanShell: JMeter's favorite built-in component有关 Apache JMeter 中 Beanshell 脚本编写的综合信息的指南。

关于jenkins - JMeter - 基于平均响应时间的测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27433517/

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