【发布时间】:2023-03-18 04:02:02
【问题描述】:
在 Jmeter 中,我将 Concurrency Thread Group 与 ${__tstFeedback(ThroughputShapingTimer,1,10,10)} 与 Throughput Shaping Timer 结合使用,以在整个测试期间动态更改目标吞吐量。 p>
我想要一个 JSR223 测试元素(断言或 PostProcessor,这有关系吗?)在其中编写自定义逻辑以不记录某些特定错误但只有当它发生在测试脚本结束,我不想硬编码时间值。
例如,如果我在计划运行时间的最后 2 分钟内收到 java.net.SocketException,我不想记录它,但我确实想在其余时间记录它。
为此,我想我需要一些方法来获取自测试开始以来测试应该结束的日期,对其进行评估并从中减去 2 分钟,然后将当前时间与该时间进行比较,然后如果当前时间更长,然后开始执行一些逻辑以从日志记录中排除结果。
更新:在“正常”或“默认”线程组中,我注意到我可以这样做以获得初始持续时间:
String groupDuration = ctx.getThreadGroup().getDuration();
log.info(groupDuration)
但对于并发线程组,它的工作方式不一样。
如果有任何信息可以帮助我实现这一目标,我将不胜感激。
【问题讨论】:
-
在您的计划反馈函数中,允许的最大线程数设置为 10。最好将 允许的最大线程数设置为更高的值. (例如 1000)。 JMeter 只会在需要保持所需吞吐量时创建线程。
${__tstFeedback(tst-name,1,1000,10)}。 Documentation
标签: jmeter jmeter-plugins jmeter-5.0 jsr223 threadgroup