如何在JMeter中配置失败测试用例的自动邮件通知功能
JMeter失败测试用例自动邮件通知配置方法
前置准备
- 提前准备好发件邮箱的SMTP服务信息,包括SMTP服务器地址、端口、授权码,主流个人/企业邮箱均需单独开启SMTP服务并生成专属授权码,不可直接使用邮箱登录密码对接
步骤1:添加失败场景触发控制器
- 在需要监控的测试计划/对应线程组下添加 如果(If)控制器,控制器的判断条件填写
${__jexl3(${JMeterThread.last_sample_ok} == false,)},该条件仅会在最近一个采样器(即测试用例)执行失败时触发后续动作 - 注意取消勾选If控制器的
将条件解释为变量表达式选项,避免条件判断失效
步骤2:配置SMTP邮件发送采样器
- 在上述If控制器下添加 SMTP采样器,按规则填写参数:
- 服务器配置:填入发件邮箱对应的SMTP地址、端口,勾选和邮箱匹配的SSL/TLS加密选项,比如QQ邮箱SMTP地址为
smtp.qq.com,SSL端口为465;163邮箱SMTP地址为smtp.163.com,SSL端口为465 - 身份校验:填写发件人邮箱地址、提前生成的SMTP授权码
- 收件人配置:填入需要接收通知的用户邮箱,多个地址用分号分隔即可
- 邮件主题:可自定义,建议加入内置变量快速识别失败信息,示例:
【JMeter测试告警】用例${__samplerName()}执行失败 - 邮件内容:可按需拼接内置变量展示失败详情,参考模板:
测试执行时间:${__time(yyyy-MM-dd HH:mm:ss,)}
失败用例名称:${__samplerName()}
失败响应码:${__intSum(${__samplerResult()},)}
失败响应信息:${__samplerResult(responseMessage,)}
- 服务器配置:填入发件邮箱对应的SMTP地址、端口,勾选和邮箱匹配的SSL/TLS加密选项,比如QQ邮箱SMTP地址为
- 可自行在内容中追加请求参数、完整响应报文等变量,方便定位问题。
步骤3:功能验证
- 故意修改某条测试用例的请求参数/地址构造失败场景,执行测试后检查收件邮箱是否能收到对应告警邮件
- 若收不到邮件,优先排查SMTP配置是否正确、邮箱SMTP服务是否已开启、测试环境是否能连通SMTP服务器对应端口
可选优化
- 若需要聚合本次测试所有失败用例统一发送一封邮件,而非每个失败用例单独触发,可以先添加用户定义变量存储所有失败用例信息,在测试计划全局的teardown线程组中统一触发邮件发送
- 支持给邮件添加附件,可将本次测试的完整结果日志、聚合报告等作为附件一并发送
内容的提问来源于stack exchange,提问作者Rutvij Patel
相关产品推荐
相关产品推荐

