Jenkins+Allure测试报告+飞书机器人发送通知

这篇具有很好参考价值的文章主要介绍了Jenkins+Allure测试报告+飞书机器人发送通知。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

本篇讲述在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后搜索安装

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

 2、jenkins配置全局工具配置

  进入jenkins-系统管理-全局工具配置,配置allure

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

3、jenkins配置项目的构建后操作

  进入构建项目的配置页面,选中构建后操作tab,增加构建后操作步骤选择 Allure Report

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

Results path填写结果文件路径

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

构建后操作tab点击高级,配置generate路径

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

 4、构建执行shell,如下图

因为我的脚本中有job_url和job_name,所以shell命令后面要带上jenkins内置变量,如果不需要的话也可以不用后面那串,即直接写 python3 excute.py

特别注意:服务器需要安装allure,具体怎么安装可看我之前的博客或者百度(pip3 install allure-pytest)

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

5、附上Python项目结构图和excute.py代码

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

# -*- coding:utf-8 -*-
import pytest
import os


if __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报告

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

 7、附上服务器的文件结构

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

三、Jenkins发送飞书通知

  参考:https://blog.csdn.net/jialiu111111/article/details/122129334

1、 在飞书群中添加自定义机器人,步骤截图如下:

(因为飞书截图有水印,所以这里用别人的博客的图)

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

图1

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

 图2

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

图3

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

 图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的工具

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

2)在配置中的构建中 加上一行命令即可,如下图:

  我这里的testcase是项目目录下的,所以要结合你们项目实际情况变更

  shell的变量顺序要跟python定义的系统变量顺序一致,比如python脚本里定义的job_url在前面,那jenkins的shell命令就要将job_url写在前面

python3 testcase/feishu.py $JOB_URL $JOB_NAME

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具

3)构建完成之后,飞书群里就能收到对应的消息,如下图:

  我这里就不截图我自己的飞书通知,因为有水印,所以用的是网上的图,具体接口中对应图里哪个字段,在上面的脚本代码中有注释

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

jenkins飞书插件,接口自动化测试,jenkins,飞书,机器人,jmeter,自动化测试,测试工具文章来源地址https://www.toymoban.com/news/detail-759726.html

到了这里,关于Jenkins+Allure测试报告+飞书机器人发送通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 飞书机器人webhook调用

    调用飞书机器人webhook进行打卡提醒

    2024年02月16日
    浏览(41)
  • php对接飞书机器人

    有同事接到对接飞书机器人任务,开发中遇到响应错误: 意思应该就是签名错误或者时间戳不在有效范围内等,官方文档解释: 时间戳是取的实时的,也确认过了没问题,那基本确认就是签名错误了。 按照文档尝试调试了一下还是一样的结果,如果把后台安全设置那个签名

    2024年02月07日
    浏览(44)
  • 飞书ChatGPT机器人 – 打造智能问答助手

    在飞书中创建chatGPT机器人并且对话,在下面操作步骤中,使用到了Git克隆项目,需提前安装好Git,克隆的项目是Go语言项目,所以需提前安装Go语言环境。 Git Go1.20 首次注册飞书,我们可以创建个人账号 进入后 我们创建一个飞书 企业自建项目 然后设置机器人名称和描述,下面

    2024年02月16日
    浏览(109)
  • 飞书机器人小助手@特定人

    文档接口: https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN 创建机器人小助手   消息推送测试 获取艾特人 open_id @特定人请求

    2024年02月16日
    浏览(128)
  • 飞书自定义机器人消息接入指南

    操作流程 第一步 邀请自定义机器人入群:进入你的目标群组,打开 会话设置 ,找到 群机器人 ,并点击 添加机器人 ,选择 自定义机器人 加入群聊。 为机器人输入一个合适的名字和描述,也可以为机器人设置一个合适的头像,然后点击下一步。 第二部:配置 webhook 获取该

    2024年03月18日
    浏览(179)
  • zabbix对接飞书机器人告警

    一、zabbix后台配置 1. 创建报警媒介类型 2. 导入脚本 目录在/usr/lib/zabbix/alertscripts/feishu.py 二、安装python3.8 1. 安装依赖项: 2. 下载Python 3.8: 3. 解压文件并进入目录: 4. 配置: 5. 编译并安装: 6. 验证安装: 如果输出结果为Python 3.8.0,则表示安装成功。 注意:安装过程可能需

    2024年02月05日
    浏览(43)
  • 使用飞书自定义机器人发送消息

    使用飞书机器人可以很方便的获取自动化任务的反馈: 在群里创建一个机器人: 记住下面的 webhook地址,这个是标识机器人的唯一ID,比如它的webhook地址是: \\\"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxx-ab01-4427-xxxxx-xxxxx\\\" 然后创建程序: 发送之后的效果如下:

    2024年02月03日
    浏览(67)
  • 使用飞书机器人发送消息与文件

    本文默认你已拥有一个机器人,如果没有请点击以下链接创建机器人 检查机器人权限 如果需要跨部门发送消息,检查是否开通跨部门权限 在发布版本时选择作用范围为所有员工 机器人发送消息需要获取以下权限: 通过手机号或邮箱获取用户 ID 查看、评论和下载云空间中所

    2024年04月10日
    浏览(53)
  • 飞书接入机器人NODE开发自动回复

    1.登录飞书开放平台 进入开发者后台 创建自建应用 2.添加应用能力 选择机器人添加 3.添加事件订阅并根据权限开通权限  此处只添加获取消息事件 4.配置应用服务端地址(当事件触发 会触发设置的地址 并发送事件数据)开启Encrypt Key 实现回调数据加密 接收到数据后 通过开

    2024年02月12日
    浏览(63)
  • python调用飞书机器人发送文件

    当前飞书webhook机器人还不支持发送文件类型的群消息,可以申请创建一个机器人应用来实现群发送文件消息。 创建机器人后,需要开通一系列权限,然后发布。由管理员审核通过后,才可使用。 包括如下的权限,可以获取群的chat_id。 开通权限发布应用后,可以取到两个重

    2024年02月06日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包