Jenkins+Allure测试报告+飞书机器人发送通知
Python微信订餐小程序课程视频
https://blog.csdn.net/m0_56069948/article/details/122285951
Python实战量化交易理财系统
https://blog.csdn.net/m0_56069948/article/details/122285941
一、前言
之前讲了jenkins如何设置定时任务执行脚本,结合实际情况,本篇讲述在jenkins构建成功后,如何生成测试报告,以及推送飞书(因为我公司用的是飞书,所以是发送到飞书机器人)。
本次实践搞了一天,踩了一些坑,其中有2个坑可参考如下:
1、关于jenkins生成allure报告是空的:https://blog.csdn.net/qq_37159446/article/details/122233467
2、如遇到构建报错:ValueError: option names {’–alluredir’} already added
解决方案:
pytest-allure-adaptor与allure-pytest的alluredir都被引用造成冲突 pip3 uninstall allure-pytest module ‘pytest’ has no attribute 'allure’问题解决 pip3 uninstall pytest-allure-adaptor pip3 install allure-pytest
二、Jenkins生成Allure报告
1、jenkins安装allure插件
进入jenkins-系统配置-插件管理-可选插件,输入allure后搜索安装
2、jenkins配置全局工具配置
进入jenkins-系统管理-全局工具配置,配置allure
3、jenkins配置项目的构建后操作
进入构建项目的配置页面,选中构建后操作tab,增加构建后操作步骤选择 Allure Report
Results path填写结果文件路径
构建后操作tab点击高级,配置generate路径
4、构建执行shell,如下图
因为我的脚本中有job_url和job_name,所以shell命令后面要带上jenkins内置变量,如果不需要的话也可以不用后面那串,即直接写 python3 excute.py
特别注意:服务器需要安装allure,具体怎么安装可看我之前的博客或者百度(pip3 install allure-pytest)
5、附上Python项目结构图和excute.py代码
# -*- coding:utf-8 -*-
import pytest
import osif \_\_name\_\_ == '\_\_main\_\_':# pytest执行脚本并生成测试结果文件到report/tmp目录下pytest.main(['-s','--alluredir','report/tmp'])# 将report/tmp目录下的结果文件生成html类型的测试报告文件到report/html目录下# -o report/html --clean 是为了清空已有的测试报告再生成os.system(r'allure generate report/tmp -o report/html --clean')
6、附上jenkins构建控制台图和allure报告
7、附上服务器的文件结构
三、Jenkins发送飞书通知
参考:https://blog.csdn.net/jialiu111111/article/details/122129334
1、 在飞书群中添加自定义机器人,步骤截图如下:
(因为飞书截图有水印,所以这里用别人的博客的图)
图1
图2
图3
图4
2、将这个webhook地址保存起来,后面需要用到
3、Python发送通知的脚本
创建feishu.py
脚本文件,需要将你的webhook地址拷贝到脚本中的url中,思路是找出jenkins的内置变量,将jenkins内置变量定义为python脚本系统变量(sys.argv[1])
# -*- encoding: utf-8 -*-
"""
@Author : yijiayi
@File :feishu.py
@Time :2022/4/13 13:41
@Remark :飞书通知
"""
import sys
import requests#定义python系统变量
JOB\_URL = sys.argv[1]
JOB\_NAME = sys.argv[2]# 飞书机器人的webhook地址
url = 'https://open.feishu.cn/open-apis/bot/v2/hook/xxx4'
method = 'post'
headers = {'Content-Type':'application/json'}data = {"msg\_type": "interactive","card": {"config": {"wide\_screen\_mode": True,"enable\_forward": True},"elements": [{"tag": "div","text": {"content": "用例已执行完成", # 这是卡片的内容,也可以添加其他的内容:比如构建分支,构建编号等"tag": "lark\_md"}}, {"actions": [{"tag": "button","text": {"content": "查看测试报告", # 这是卡片的按钮,点击可以跳转到url指向的allure路径"tag": "lark\_md"},"url": f"{JOB\_URL}/allure/", # JOB\_URL 调用python定义的变量,该url是服务器下的allure路径"type": "default","value": {}}],"tag": "action"}],"header": {"title": {"content": JOB\_NAME + "构建报告", # JOB\_NAME 调用python定义的变量,这是卡片的标题"tag": "plain\_text"}}}
}
res= requests.request(method=method,url=url,headers=headers,json=data)
print(res)
print(res.json())
4、Jenkins项目中添加配置
1)运行Python脚本语言需要一些环境,我使用Python3,安装Python3的工具
2)在配置中的构建中 加上一行命令即可,如下图:
我这里的testcase是项目目录下的,所以要结合你们项目实际情况变更
shell的变量顺序要跟python定义的系统变量顺序一致,比如python脚本里定义的job_url在前面,那jenkins的shell命令就要将job_url写在前面
python3 testcase/feishu.py $JOB\_URL $JOB\_NAME
3)构建完成之后,飞书群里就能收到对应的消息,如下图:
我这里就不截图我自己的飞书通知,因为有水印,所以用的是网上的图,具体接口中对应图里哪个字段,在上面的脚本代码中有注释
Jenkins+Allure测试报告+飞书机器人发送通知相关推荐
- Jenkins+飞书机器人发送通知
1. 在飞书群中添加自定义机器人 在飞书群中添加自定义机器人 2. Python发送通知的脚本 在部署Jenkins的服务器上创建一个目录,名称随意,创建feizhutongzhi.py脚本文件, ...
- 基于odoo12 框架使用飞书机器人发送消息
基于odoo12 框架使用飞书机器人发送消息 发送消息主要是注意请求体的context的构造. import requests import json params = {"receive_ ...
- SVN提交更新飞书群通知 (飞书机器人)
Jenkins发送飞书信息 2022.9.16更新 用python脚本 效果 步骤 1.修改 svn/hooks/post-commit 脚本. export LANG=zh_CN.UTF-8 exp ...
- Python实现飞书机器人定时发送文本、图片等群消息
工作中会经常遇到监控告警相关问题,监控和告警的目的是要在事中及时发现问题并定位系统问题,那么当系统或平台出现问题了,如何及时暴露这些问题给对应的项目开发人员呢? 本文记录了在Python项目中利用飞书 ...
- 干货|Webhook配置钉钉/飞书机器人告警
马嘉炜 | Zabbix开源社区签约专家 SRE运维工程师,六年Zabbix监控系统使用经验.在Zabbix架构设计及性能优化领域有丰富的经验,擅长监控模板制作及Zabbix API的二次开发. 官方 ...
- RPA077-调用飞书API发送文件(.net→c#)
一.前言 RPA调用各种接口,实现某种该功能,是扩展RPA能力的一种方法. 将接口功能通过C#包装成nupkg,然后可以在UiPath中安装,并像使用其他"活动"(activity ...
- Zabbix监控系统搭建飞书机器人告警
Zabbix监控系统搭建&飞书机器人告警 操作系统:CentOS7x64 Zabbix版本:5.0LTS 参考官网链接:下载Zabbix 5.0 LTS for CentOS 7, MySQL ...
- 【测试团队管理】Node版钉钉飞书机器人提醒团队成员每日缺陷状态
一.场景 日常一般会通过jira bug面板筛选条件筛选出bug,如:经办人.状态.标签等,但这需要人为主动去筛选搜索,如果有一个定时每日钉钉群.飞书群提醒每个人截止当日bug情况就比较直观,对测试团 ...
- python+selenium+docker+飞书机器人部署自动预约程序
python+selenium+docker+飞书机器人部署自动预约程序 项目介绍 python+selenium 滑块验证 selenium提示元素无法操作 无法定位到元素 接口+服务器部署 本地测 ...
最新文章
- 彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践
- 怎样做好敏捷项目管理?
- ## 应用Python爬虫、Flask框架、Echarts、WordCloud等技术实现豆瓣Top250数据分析
- 【Win32汇编】复制字符串
- Jackson安全漏洞版本升级
- Xml遍历某一节点值
- 计算机组成原理强制类型转换规则,计算机组成原理——浮点数加减运算强制类型转换...
- 从开源硬件到开放型工业控制器
- java 人民币大写_Java实现人民币大写精讲
- 在 LaTeX 中插入表格
- 3.	Zigbee应用程序框架开发指南 - 应用程序框架目录结构
- 【网络重置】WLAN消失/网络适配器黄色感叹号/无法识别无线网卡/解决方法汇总/Win10家庭版(个人留档)
- 中国机械锻压机市场发展态势与前景风险分析报告2022-2028年
- 在一款D-Link消费级路由器上,我发现了10个严重漏洞
- Arcmap 安装完后使用出现visual fortran run-time error的解决方法
- JDBC之MySQL的URL
- 2019.10.24
- ERROR: cannot launch node of type [map_server/map_server]: map_server
- WebView使用详解之WebChromeClient的常用事件监听
- Rackspace开设英国最环保数据中心