【问题标题】:Jmeter checkpoint for a specific transaction特定事务的 Jmeter 检查点
【发布时间】:2021-03-28 05:08:18
【问题描述】:

这段代码有问题吗?我试图在运行测试时识别 JMeter 中的失败用户。该脚本在我的本地和有限数量的用户中绝对可以正常工作。使用分布式测试时如何在日志中打印失败的用户?我每台机器运行 100 个用户(5 个从属与主控)

我的第一笔交易有 10 个请求,在请求后处理器中,我使用以下代码在日志中打印。但是它究竟会在分布式负载测试中显示在哪里,我最终使用的是 Apdex 报告,但它甚至没有显示出来。

if(prev.getResponseCode()=='500') { log.info('失败的用户:' + '${__threadNum}-${Username}-${MachineIp}-${__machineName}'); }

【问题讨论】:

    标签: jmeter jmeter-plugins jmeter-5.0 jmeter-4.0 jmeter-3.2


    【解决方案1】:

    它将出现在jmeter.log 文件中(或jmeter-server.log 文件中,具体取决于您如何启动从站)在失败的机器上

    如果你想在HTML Reporting Dashboard 中看到这个 - 你需要使用prev.setResponseMessage() 函数

    也不要将 JMeter Functions or Variables 内联到 Groovy 脚本中,因为它与 GString templates 冲突,并且只会缓存第一次出现并在后续迭代中使用

    更多信息:Apache Groovy - Why and How You Should Use It

    建议的代码更改:

    import org.apache.jmeter.util.JMeterUtils
    
    if (prev.getResponseCode() == '500') {
        prev.setResponseMessage('Failed User: ' + ctx.getThreadNum() + '-' + vars.get('Username') + '-' + JMeterUtils.getLocalHostIP() + '-' + JMeterUtils.getLocalHostName());
    }
    

    【讨论】:

    • 嗨 Dimitri,在这种情况下,如何阻止进入此条件的用户?
    • 并且 jmx 应该存在于所有从机上还是从主机上获取?原因是我正在考虑是否更新主机或所有从机
    • 嗨乔治,如果你有第三、第四、第五等问题,你会这样问他们吗? Thread Group 级别上有“采样器错误后要采取的措施”设置,您可以在其中选择发生错误时发生的情况。如果您需要从 Groovy 执行此操作 - 使用以下行:ctx.getThread().stop()。有关 JMeter API 速记的更多信息:Top 8 JMeter Java Classes You Should Be Using with Groovy
    • 对不起迪米特里。我不是那个意思。但是你的观点帮助了我。非常感谢
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2019-08-28
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多