【问题标题】:Counting the number of response codes in JMeter 4.0计算 JMeter 4.0 中响应代码的数量
【发布时间】:2018-03-30 08:45:58
【问题描述】:

我运行了一些负载测试(所有端点),我们的代码中确实存在一个已知问题:如果同时发送多个 POST 请求,我们确实会根据数据库中的时间戳字段收到重复错误。

我要做的就是在一个变量中计算超时(基于收到的消息“服务不可用。请求超时”)并将其作为正常行为接受(不要使测试失败)。

现在我为此添加了一个响应断言(为了保持测试运行),但我无法确定是否或实际发生了多少超时。

这个怎么算? 谢谢

【问题讨论】:

    标签: api jmeter timeout assertion


    【解决方案1】:

    我建议这样做:

    1. JSR223 Listener 添加到您的测试计划中
    2. 将以下代码放入“脚本”区域:

      if (prev.getResponseDataAsString().contains('Service is not available. Request timeout')) {
          prev.setSampleLabel('False negative')
      }
      

    就是这样,如果采样器在响应正文中包含Service is not available. Request timeout - JMeter 会将其标题更改为False negative

    您甚至可以通过在脚本中添加prev.setSuccessful(false) 行来将其标记为已通过。请参阅Apache Groovy - Why and How You Should Use It 文章,了解有关在 JMeter 测试中使用 Groovy 还能做什么的更多信息

    【讨论】:

      【解决方案2】:

      如果您只需要根据响应消息找出计数,那么您可以使用简单的数据写入器(仅针对 csv 配置)将性能结果保存在 csv 文件中,然后根据响应消息过滤 csv 以获得所需计数。或者您可以使用仅显示“错误”选项来获取所有错误,然后根据预期的错误消息进行过滤。

      如果您需要在运行时查找,则可以使用聚合报告侦听器并使用“错误”复选框来获取失败计数,但这也包括其他失败。

      但是,如果您需要在运行时获取计数以便以后使用它,那么情况就不同了。我假设情况并非如此。

      谢谢,

      【讨论】:

      • 我们正在尝试改进代码以尽可能减少“超时”。我只需要跟踪他们。我会选择第二种情况。谢谢
      猜你喜欢
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多