groovy 是否可以使用Jmeter在BeanShell后处理器中打印来自响应Assert的成功消息/Assert结果?

gzjq41n4  于 2022-11-01  发布在  Shell
关注(0)|答案(1)|浏览(258)

我正在使用“BeanShell PostProcessor”获取请求和响应数据以生成结果文件,但我无法从响应Assert中获取Assert结果,此处我已在采样器内部添加了响应Assert,我希望在日志中打印该成功消息
是否失败/通过,如:成功消息/Assert结果-对/错请查看屏幕截图:x1c 0d1x我将能够在excel中打印除“成功消息(通过/失败)(对/错)”之外的所有数据。请查看屏幕截图:

xpszyzbs

xpszyzbs1#

根据JMeter测试元素执行顺序:
1.配置要素
1.预处理器
1.计时器
1.取样器
1.后处理器(除非SampleResult为空)
1.判断提示(除非SampleResult为null)
1.监听程序(除非SampleResult为空)
您无法从“后处理器”取得AssertionResult,因为“指定”尚未执行,您需要切换至Listener
同样,forget about Beanshell,由于JMeter 3.1推荐使用JSR 223测试元素和Groovy语言,将Assert结果和失败消息打印到 * jmeter.log * 文件的相关Groovy代码如下所示:

prev.getAssertionResults().each { assertionResult ->
    log.info('Failure: ' + assertionResult.isFailure())
    log.info('Failure message: ' + assertionResult.getFailureMessage())
}

演示:

相关问题