如何使用JMeter在电子邮件中获取响应代码和失败消息 我已经设置了一些http请求,如果控制器一个成功,我有2个,而一个请求失败。 在那些控制器中,我有一个发送电子邮件的SMTP采样器 当我遇到故障时,获取代码和响应消息的正确方法是什么?
我试过这些:
${__groovy( ctx.getPreviousSampler().getPreviousResult().getStartTime())}
${__groovy( ctx.getPreviousSampler().getPreviousResult().getResponseCode())}
${__groovy( ctx.getPreviousSampler().getPreviousResult().getResponseMessage())}
prev res code
${__groovy( ctx.getPreviousResult().getAssertionResults().getResponseCode())}
prev res failure message
${__groovy( ctx.getPreviousResult().getAssertionResults().getFailureMessage())}
prev res failure getResponseMessage
${__groovy( ctx.getPreviousResult().getAssertionResults().getResponseMessage())}
虽然我可以利用这个时间获得时间:
${__groovy( ctx.getPreviousResult().getTime() )}
答案 0 :(得分:0)
使用以下配置添加2 Regular expression extractor作为您请求的子项:
第一个正则表达式:
第二个正则表达式:
然后在SMTP采样器中使用正则表达式的引用名称,例如${Response_Code}
,它将保存响应代码的值,${Response_Message}
将保存响应消息的值。
答案 1 :(得分:0)
正确的语法是:
对于回复代码:
${__groovy(ctx.getPreviousResult().getResponseCode(),)}
对于回复消息:
${__groovy(ctx.getPreviousResult().getResponseMessage(),)}
演示:
ctx
是JMeterContext类实例的简写,请参阅JavaDoc了解所有可用函数。另请查看Apache Groovy - Why and How You Should Use It文章,了解有关JMeter中Groovy脚本的更多信息。