厦门网络公司网站,济宁医院网站建设,微信公众平台开发商,短视频运营策划B站讲的最好的自动化测试教程#xff0c;工具框架附项目实战一套速通#xff0c;零基础完全轻松掌握#xff01;自动化测试课程、web/app/接口 实现AntJMeterJenkins接口自动化失败接口邮件通知方案
要实现只发送执行失败的接口信息邮件通知#xff0c;可以通过以下步骤实… B站讲的最好的自动化测试教程工具框架附项目实战一套速通零基础完全轻松掌握自动化测试课程、web/app/接口 实现AntJMeterJenkins接口自动化失败接口邮件通知方案
要实现只发送执行失败的接口信息邮件通知可以通过以下步骤实现
方案概述
使用JMeter执行测试并生成结果报告使用Ant解析JMeter结果提取失败用例配置Jenkins邮件通知只包含失败信息
详细实现步骤
1. 配置JMeter测试计划
确保测试计划中启用了Save Responses to a file选项配置合适的监听器(如View Results Tree或Summary Report)
2. 创建Ant构建文件(build.xml)
xml project nameJMeter-Test defaultrun basedir. property namejmeter.home value/path/to/jmeter/ property namereport.dir value${basedir}/report/ property namefailure.report.file value${report.dir}/failures.txt/ target namerun taskdef namejmeter classnameorg.programmerplanet.ant.taskdefs.jmeter.JMeterTask/ jmeter jmeterhome${jmeter.home} resultlog${report.dir}/results.jtl testplans dir${basedir} includes*.jmx/ /jmeter !-- 提取失败用例 -- xslt in${report.dir}/results.jtl out${report.dir}/report.html style${jmeter.home}/extras/jmeter-results-detail-report_21.xsl/ !-- 生成失败报告 -- script languagejavascript ![CDATA[ importPackage(http://java.io);
var logFile new File(project.getProperty(report.dir) /results.jtl); var failureFile new File(project.getProperty(failure.report.file)); var writer new PrintWriter(new FileWriter(failureFile)); if (logFile.exists()) { var reader new BufferedReader(new FileReader(logFile)); var line; var hasFailures false;
// 跳过第一行(标题行) reader.readLine(); while ((line reader.readLine()) ! null) { var fields line.split(,); // 检查是否失败(字段8为success标志) if (fields.length 8 false.equals(fields[8].toLowerCase())) { hasFailures true; writer.println(失败接口: fields[2]); // 字段2是标签/接口名 writer.println(响应码: fields[3]); writer.println(响应消息: fields[4]); writer.println(失败原因: fields[9]); writer.println(------------------------); } } reader.close(); if (!hasFailures) { writer.println(所有接口测试通过无失败用例); } }else { writer.println(未找到测试结果文件); } writer.close(); ]] /script /target /project
3. 配置Jenkins任务
创建自由风格项目添加构建步骤Invoke Ant配置Ant构建文件路径和目标添加构建后操作Editable Email Notification
4. 配置Jenkins邮件通知
在Editable Email Notification配置中
设置收件人列表在Attachments中添加report/failures.txt配置邮件内容模板例如
text 构建项目: ${PROJECT_NAME} 构建编号: ${BUILD_NUMBER} 构建状态: ${BUILD_STATUS} 失败接口详情见附件或如下内容: ${FILE,pathreport/failures.txt}
设置触发条件Failure和Unstable
5. 高级配置可选
可以修改Ant脚本生成更详细的HTML格式失败报告可以配置Jenkins只在失败时发送邮件 在Advanced Settings中设置Send To为Recipient List勾选Send email for every unstable build和Send separate emails to individuals who broke the build 替代方案
如果不想使用Ant解析结果也可以
使用JMeter的SMTP Sampler在测试计划中直接发送失败通知使用Jenkins的JMeter Plugin它自带失败分析功能使用JMeter的OS Process Sampler调用外部脚本处理结果
注意事项
确保Jenkins服务器可以访问邮件服务器测试结果文件路径要正确配置根据实际JMeter结果格式调整字段索引对于大型测试考虑性能影响
这种方案能够实现只发送失败接口信息帮助团队快速定位问题而不被成功用例干扰。