进行我们网站的负载测试。
我在主要测试计划中包含了几个测试片段。 在主测试计划中,我将参数设置为线程应该停留多长时间(暂停在不同的测试片段中),然后再继续。
我想向控制台写入我们正在等待的内容,但问题是我找不到在测试片段中登录控制台ONCE的方法。
这是我目前在片段中的内容:
BeanShell PostProcessor
log.info("### User is interacting with the GLASSES-page for: " + vars.get("glassesSpentTime") + "ms")
在控制台中,我会看到每个HTTP请求的日志消息:
jmeter.util.BeanShellTestElement: ### User is interacting with the GLASSES-page for: 37000ms
jmeter.util.BeanShellTestElement: ### User is interacting with the GLASSES-page for: 37000ms
jmeter.util.BeanShellTestElement: ### User is interacting with the GLASSES-page for: 37000ms
等等......
我只想在log ONCE中显示此消息。 我可以使用什么来在我的测试片段中发送一条日志消息?
谢谢!
/ J
答案 0 :(得分:2)
后处理器应该是HTTP请求的子元素,需要进行后期处理。如果在与HTTP请求相同的级别中,JMeter假定所有HTTP请求都需要后处理&调用它。
您可能知道,每个线程将分别执行整个线程组。因此,如果有3个用户,那么您将3个日志消息。为避免这种混淆,您可能需要添加
log.info("### User${__threadNum} - is interacting with the GLASSES-page for: " + vars.get("glassesSpentTime") + "ms")
您将获得此处显示的日志。
jmeter.util.BeanShellTestElement: ### User1 - is interacting with the GLASSES-page for: 37000ms
jmeter.util.BeanShellTestElement: ### User2 - is interacting with the GLASSES-page for: 37000ms
jmeter.util.BeanShellTestElement: ### User3 - is interacting with the GLASSES-page for: 37000ms