【问题标题】:How to Capture Jmeter test metrics like test start time, end time, number of users and pass it to rest API call如何捕获 Jmeter 测试指标,如测试开始时间、结束时间、用户数量并将其传递给 rest API 调用
【发布时间】:2025-11-24 15:10:01
【问题描述】:

我是 JMeter 的新手。我有两个脚本,一个脚本是 web,另一个是 rest api 调用,它将指标发布到服务器。两个脚本都运行良好。现在我想实现一个场景。

一旦脚本完成,Web 脚本应首先运行调用然后将运行并将指标发布到服务器。

感谢任何帮助

【问题讨论】:

    标签: jmeter performance-testing jmeter-plugins beanshell


    【解决方案1】:
    1. 开始时间-可以通过${TESTSTART.MS}JMeterpre-defined variable获取
    2. 结束时间 - 可以通过__time() function 获得,如果你在tearDown Thread Group 的某个地方调用它,它将报告所有主线程组完成的时间
    3. 线程数——这是一种奇怪的要求,因为是你自己定义了虚拟用户的数量。无论如何,您可以随时使用 __groovy() function 来获取它,例如:

      • ${__groovy(ctx.getThreadGroup().getNumberOfThreads(),)} - 返回当前活跃的线程数
      • ${__groovy(ctx.getThreadGroup().getNumThreads(),)} - 返回线程组中定义的线程数

    【讨论】:

    • 非常感谢德米特里。我能够根据您的建议解决问题
    • 有没有办法在测试结束后获取开始时间或结束时间?我知道持续时间,但不知道开始或结束时间。
    【解决方案2】:

    当您计划给定场景时,您需要执行以下操作。

    1) 您需要使用 jp@gc 侦听器来测量结果(响应时间、每分钟/秒的线程数、每秒的点击次数等等)

    你可以在这里找到听众名单>>https://jmeter-plugins.org/wiki/GraphsGeneratorListener/

    2) 您需要使用正则表达式提取器来实施测试计划,以便从响应请求中获取值,您可以将这些值存储在变量中,然后传递给相关请求。文档访问https://jmeter.apache.org/usermanual/regular_expressions.html

    一般理解可以看jmeter官方文档 https://jmeter.apache.org/usermanual/get-started.html

    希望对你有帮助

    【讨论】: