如何提取Blazemeter报告URL并推送至Slack?(JMeter+Taurus+Bitbucket环境)
提取Blazemeter报告URL并推送至Slack的实现方案
当然可以实现,以下是具体的操作步骤:
1. 从Taurus输出中捕获Blazemeter报告URL
Taurus运行测试后会输出Blazemeter报告的链接,你可以通过两种方式获取:
- 写入指定文件:在Taurus的配置文件
bzt-config.yml中添加配置,让报告URL直接写入文件:modules: blazemeter: report-name: "JMeter自动化测试报告" report-url-file: blazemeter-report-url.txt - 从日志提取:如果没有配置文件写入,直接从Taurus的运行日志
bzt.log中匹配URL:# 提取包含blazemeter报告的链接(取第一条结果) BLAZEMETER_URL=$(grep -o 'https://.*blazemeter.com/reports/.*' bzt.log | head -1)
2. 配置Slack通知推送URL
在Bitbucket Pipeline脚本中添加Slack通知步骤,建议用Slack的Incoming Webhook实现:
- 先在Slack端创建Incoming Webhook,获取对应的Webhook地址,然后将其作为环境变量(比如
SLACK_WEBHOOK_URL)配置到Bitbucket仓库的Pipeline设置中,避免明文泄露。 - 在
bitbucket-pipelines.yml中添加推送命令:# 基础文本通知 curl -X POST -H 'Content-type: application/json' --data '{ "text": "JMeter测试执行完成!\nBlazemeter报告链接:'"$BLAZEMETER_URL"'" }' $SLACK_WEBHOOK_URL - 若要优化通知样式,可使用Slack附件格式:
curl -X POST -H 'Content-type: application/json' --data '{ "attachments": [ { "fallback": "JMeter测试报告已生成", "color": "#36a64f", "title": "JMeter自动化测试完成", "title_link": "'"$BLAZEMETER_URL"'", "text": "点击上方标题查看详细测试报告" } ] }' $SLACK_WEBHOOK_URL
3. 完整Pipeline脚本示例
pipelines: default: - step: name: 执行JMeter测试并推送Slack通知 script: - # 运行Taurus测试 - bzt bzt-config.yml - # 提取Blazemeter报告URL - BLAZEMETER_URL=$(cat blazemeter-report-url.txt) - # 推送通知至Slack - curl -X POST -H 'Content-type: application/json' --data '{ "attachments": [ { "fallback": "JMeter测试报告已生成", "color": "#36a64f", "title": "JMeter自动化测试完成", "title_link": "'"$BLAZEMETER_URL"'", "text": "点击查看详细测试报告" } ] }' $SLACK_WEBHOOK_URL artifacts: - bzt.log - blazemeter-report-url.txt
内容的提问来源于stack exchange,提问作者Smh
相关产品推荐
相关产品推荐

