接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送

本文主要是介绍接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送

在jenkins上部署好项目,构建成功后,希望可以把生成的报告,以及结果统计发送至企微。

效果图:
在这里插入图片描述
在这里插入图片描述

实现如下。

1、生成allure报告

a. 首先在Jenkins插件管理中,搜索并安装allure插件
在这里插入图片描述

b. 其次,在 全局工具管理中,新增设置,注意别名最好填本地allure的文件名

在这里插入图片描述

c. 在Jenkins自己job中,添加构建后操作中添加allure report,填好结果文件路径和生成的report的路径。jenkins上设置完成。

在这里插入图片描述
在这里插入图片描述


2、下面开始编写python的代码,注意:这个代码支持企业微信和钉钉,只需要把里面的webhook 换掉就行

import os
import time
import requests
from jenkins import Jenkins# jenkins的url地址(就是域名,本机就是ip+端口号)
jenkins_url = "http://192.168.***.***:****/"# 登录jenkins
server = Jenkins(jenkins_url, username="admin", password="123456")
# print(server.server)# 选择你的jenkins项目名称的地址,这段代码加上jenkins的url就会进入你的ApiTest项目
job_name = "job/API_Test_Driver"# 发消息的地址
# job_url = server.get_info(job_name)["url"]
# 使用server.server 获取jenkins + url
job_url = server.server + job_name# 获取最新的构建任务名称,用于拼接后续allure地址
job_last_number = server.get_info(job_name)["lastBuild"]["number"]# 测试报告allure地址
report_url = job_url + "/" + str(job_last_number) + "/allure"# 记录时间
job_time = time.strftime("%Y-%m-%d_%H-%M-%S")def push_message():content = {}# 服务器执行file_path = os.path.dirname(os.getcwd()) + "/outFiles/report/html/export/prometheusData.txt"# # 用于本地调试# file_path = os.path.dirname(os.getcwd()) + "/outFiles/report/html/export/prometheusData.txt"f = open(file_path, "r", encoding="utf-8")for line in f.readlines():launch_name = line.strip("\n").split()[0]num = line.strip("\n").split()[1]# 把分割出来的数据组装成键值对 update是一个方法用于组装字典的content.update({launch_name: num})f.close()passed_num = content["launch_status_passed"]  # 通过数量failed_num = content["launch_status_failed"]  # 失败数量broken_num = content["launch_status_broken"]  # 阻塞数量skipped_num = content["launch_status_skipped"]  # 跳过数量case_num = content["launch_retries_run"]  # 总数量"""钉钉消息发送,通过webhook发送消息"""webhook = "这里放的你的webhook地址,也就是你在企业微信或者钉钉里面添加机器人生成的那个链接"content = {"msgtype": "text","text": {"content": "【接口自动化脚本执行结果】: \n【运行总数】:" + case_num+ "\n【通过数量】: " + passed_num+ "\n【失败数量】: " + failed_num+ "\n【阻塞数量】: " + broken_num+ "\n【跳过数量】: " + skipped_num+ "\n【构建地址】: " + job_url+ "\n【报告地址】: " + report_url+ "\n【测试时间】: " + job_time}}requests.post(url=webhook, json=content, verify=False)# 因为他是https的所以需要加verify = False让他不报警告push_message()

在这里插入图片描述

3、开始设置钉钉或者企业微信,你先找到你要发送消息的群组(我这里用的企微,钉钉也一样)

在这里插入图片描述
在这里插入图片描述

编辑机器人:
在这里插入图片描述
在这里插入图片描述
好了,企业微信和钉钉的机器人就配置好了 webhook也拿到了

4、安装插件 Post Build task 进行生成报告后的shell执行

在这里插入图片描述

5、点击你的自动化脚本,在点击配置,把以下内容加进去

在这里插入图片描述

#!/bin/bash
echo "=========> 安装Jenkins插件..."
if ! command -v python3 &> /dev/null
thenecho "python3未安装,正在安装..."sudo apt-get updatesudo apt-get install -y python3
fi
pip3 install python-jenkinsecho "=========> 发送测试报告..."
cd ${WORKSPACE}/message
python3 send_qiwei.py

6、然后现在你的自动化任务执行之后就会把结果发在工作群了,Jenkins上也生成了allure测试报告,完美展示。

这篇关于接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/854844

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们