Pytest-测试报告发送到钉钉群

记录一下pytest接口自动化结束后,将测试报告发送到钉钉群。 第一步:当然是在群里添加钉钉自定义机器人

添加时最重要的是 webhook地址(发送消息的请求链接信息)、自定义关键词(发送消息内容必须包含关键词才能发送)

图片

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386  

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

具体可以查看官方的介绍文档 https://open.dingtalk.com/document/robots/custom-robot-access/

第二步:在代码中添加发送钉钉消息的请求 直接上代码,很简单 由于该接口测试框架是集成Jenkins,以BUILD_TAG命名文件夹存每次测试的报告

def send_dingtalk_message(BUILD_TAG):''':param BUILD_TAG: :return: '''#获取Jenkins项目名称JOB_NAME = basedir2.split("/")[-1]#获取Webhook的tokendingtalk_Webhook = ReadConfig().get_config(file_name=Get_project_path('test_case_config'), section='ENV', option='dingtalk_Webhook')logger.write_msg(INFO,"开始发送测试报告到钉钉")#测试结果HTML报告链接html_report=f'http://jks.qa.xxx.com/job/xxx/view/All/job/{JOB_NAME}/ws/report/{BUILD_TAG}/report.html'#读取测试结果文案path = basedir2 + '/report/result.txt'if os.path.exists(path):passelse:print(" %s 文件不存在" % path)exit(0)with open(file=path,encoding='utf-8',mode='r') as fp:result = fp.read()#发送的内容必须包含机器人设置的关键字cont = "接口自动化已完成,查看结果\n"+result+"\n"+f"测试报告链接:{html_report}"  # 这里要包含新增机器人时候“安全设置”里的关键字,这里是“自动化测试”dates = {"msgtype": "text","text": {"content": cont}}url = f"https://oapi.dingtalk.com/robot/send?access_token={dingtalk_Webhook}" # 输入上面生成的Webhook地址headers = {'Content-Type': 'application/json'}#发送请求res = requests.post(url=url,data=json.dumps(dates),headers=headers)logger.write_msg(INFO,res.json())

发送钉钉消息是用pytest的钩子函数 pytest_terminal_summary,收集测试结果后直接发送

def pytest_terminal_summary(terminalreporter):"""收集测试结果"""metadata = terminalreporter._sessionlogger.write_msg(INFO, metadata.config._metadata)if 'BUILD_TAG' in metadata.config._metadata.keys():logger.write_msg(INFO, f"build_tag={metadata.config._metadata['BUILD_TAG']}")BUILD_TAG = metadata.config._metadata['BUILD_TAG']send_dingtalk_message(BUILD_TAG)

第三步:验证钉钉发送的报告是否准确

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov8 strongSORT多目标跟踪工具箱BOXMOT

1 引言 多目标跟踪MOT项目在Github中比较完整有:BOXMOT , 由mikel brostrom提供。在以前的版本中,有yolov5deepsort(版本v3-v5), yolov8strongsort(版本v6-v9),直至演变…

python+pytest接口自动化(一)—接口测试基础

接口定义 一般我们所说的接口即API,那什么又是API呢,百度给的定义如下: API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口)&#xff0…

JS VUE 用 canvas 给图片加水印

最近写需求,遇到要给图片加水印的需求。 刚开始想的方案是给图片上覆盖一层水印照片,但是这样的话用户直接下载图片水印也会消失。 后来查资料发现用 canvas 就可以给图片加水印,下面是处理过程。 首先我们要确认图片的格式,我们通…

2023NOIP A层联测10-子序列

给定一个长为 n n n 的仅有小写英文字母构成字符串 S S 1 S 2 ⋯ S n SS_1S_2\cdots S_n SS1​S2​⋯Sn​。我们定义一个字符串是好的,当且仅当它可以用两个不同的字母 x 和 y 表示成 xyxyxyx... 的形式。例如,字符串 abab、tot、z 是好的&#xff0c…

【Java 进阶篇】JavaScript三元运算符详解

JavaScript是一门广泛用于前端和后端开发的编程语言,具备强大的表达式和运算符。本篇博客将重点介绍JavaScript中的三元运算符,解释其语法、用法和示例。如果您是JavaScript初学者,或者希望更深入了解这门语言的运算符,那么这篇博…

java Maven入门笔记

后端Web开发技术的学习,我们要先学习Java项目的构建工具:Maven 目录 Maven概述Maven介绍及其作用Maven模型介绍Maven仓库Maven安装 IDEA集成Maven配置Maven环境当前工程设置全局设置 Maven项目创建Maven项目POM配置详解Maven坐标详解 导入Maven项目 依赖…

数据结构 第3章作业 栈和队列 西安石油大学

第3章 栈和队列 有5个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C、D最先出栈(即C第一个且D第二个出栈)的次序有哪几个? 3个:CDEBA;CDBEA;CDBAE 此题考查的知识…

小谈设计模式(26)—中介者模式

小谈设计模式(26)—中介者模式 专栏介绍专栏地址专栏介绍 中介者模式分析角色分析抽象中介者(Mediator)具体中介者(ConcreteMediator)抽象同事类(Colleague)具体同事类(C…

计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度(matlab代码)

目录 1 主要内容 系统结构 CCPP-P2G-燃气机组子系统 非线性处理缺陷 2 部分代码 3 程序结果 4 程序链接 1 主要内容 该程序参考《计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度》模型,主要实现的是计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度…

servlet基础知识

目录 什么是servlet概念/定义作用 servlet容器概念/是什么作用如何配置和管理 servlet生命周期有哪些生命周期每个周期中可以执行哪些操作 创建和编写servlet如何创建一个简单的servletservlet类的结构是什么样的如何处理HTTP请求和响应 servlet映射和URL模式什么是servlet映射…

黄金票据与白银票据

文章目录 黄金票据与白银票据1. 背景2. 具体实现2.1 Kerberos协议认证流程 3. 黄金票据3.1 条件3.2 适用场景3.3 利用方式 4. 白银票据4.1 条件4.2 适用场景4.3 利用方式 5. 金票和银票的区别5.1 获取的权限不同5.2 认证流程不同5.3 加密方式不同 6. 经典面试题6.1 什么是黄金票…

github小记(一):清除github在add或者commit之后缓存区

github清除在add或者commit之后缓存区 前言1. 第一步之后想要撤销2. 第二步之后想要撤销a. 改变一下rrr.txt的内容b. 想提交本地文件的test文件夹c. 我后悔了突然不想提交了 前言 github自用 一般github上代码提交顺序: 第一步: git add . or git ad…