pytest+allure的接口测试报告【发送邮件】
更多详情-见完整的接口自动化测试框架:
https://blog.csdn.net/qq_42846555/article/details/126974870
部分代码如下:
import yagmail
from common.logger import Logger
import zipfile
import os
class EmailServe:
@staticmethod
def zip_report(file_path: str, out_path: str):
压缩指定文件夹
:param file_path: 目标文件夹路径
:param out_path: 压缩文件保存路径+xxxx.zip
:return: 无
zip = zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED)
for path, dirnames, filenames in os.walk(file_path):
fpath = path.replace(file_path, '')
for filename in filenames:
zip.write(
os.path.join(
path, filename), os.path.join(
fpath, filename))
zip.close()
@staticmethod
def send_email(setting: dict, file_path,result_data_test):
入参一个字典
:param user: 发件人邮箱
:param password: 邮箱授权码
:param host: 发件人使用的邮箱服务 例如:smtp.163.com
:param contents: 内容
:param addressees: 收件人列表
:param title: 邮件标题
:param enclosures: 附件列表
:param file_path: 需要压缩的文件夹
:return:
Logger.info('开始将allure报告压缩zip包')
EmailServe.zip_report(
file_path=file_path,
out_path=setting['enclosures'])
Logger.success('压缩打包allure报告完成')
yag = yagmail.SMTP(
setting['user'],
setting['password'],
setting['host'])
Logger.info('开始发送邮件……')
yag.send(
setting['addressees'],
setting['title'],
result_data_test,
setting['enclosures'])
yag.close()
Logger.success("邮件发送成功!")
<meta charset="UTF-8">
本邮件由系统自动发出,无需回复!<br/>
各位领导,同事好,以下为<font color="#b4532a"><b>【${PROJECT_NAME}】</b></font>项目接口自动化测试概况如下:<br/>
<font color="#b4532a"><b>执行成功率: ${_SUCCESS_RATE}</b></font><br/>
<b><font color="#0B610B">接口自动化测试概况:</font></b>
<hr size="2" width="100%" align="center"/>
<li><font color="#0c212b"><b>用例总数 : ${_TOTAL}</b></font></li>
<li><font color="#1d953f"><b>通过用例数 : ${_PASSED}</b></font></li>
<li><font color="#ffc20e"><b>异常用例数 : ${_ERROR}</b></font></li>
<li><font color="#aa2116"><b>失败用例数: ${_FAILED}</b></font></li>
<li><font color="#8a8c8e"><b>跳过用例数: ${_SKIPPED}</b></font></li>
<li><font color="#1b315e"><b>用例执行时长: ${_TIMES}</b></font></li>
<li><font color="#b4532a"><b>用例成功率 : ${_SUCCESS_RATE}</b></font></li>
<b><font color="#0B610B">查看附件报告方法:</font></b>
<hr size="2" width="100%" align="center"/>
1.解压allure-report.zip(接口测试报告)后,进入解压目录,运行Start_server.bat(需要有python环境)<br/>
2.出现“Serving HTTP on 0.0.0.0 port 5188 (http://0.0.0.0:5188/) ...”表示服务启动完成<br/>
<b>完成以上2步查看报告详情:</b> <a href="http://127.0.0.1:5188/allure-report">http://127.0.0.1:5188/allure-report</a><br/>
框架代码已封装 小白 3行代码即可实现
接口自动化
使用教程:https://blog.csdn.net/weixin_41121249/article/details/125162171?spm=1001.2014.3001.5502
框架搭建历程如下
1
pytest插件,运行规则以及参数,
pytest.ini配置文 件,跳过用例,用例执行顺序,夹具等
2Fixture固件,contest.py,断言以及
Allure报告生成!
3
Allure报告定制以及Parametrize数据驱动
4requests模块详解以及Cookie,Session关联处理
5
接口统一请求封装和
接口关联封装
6
接口自动化框架封装之规范YAML测试用例&
接口关联封装改进&基础路径封装改进
7热加载封装以及断言封装
8数据类型处理以及DDT数据驱动封装
9异常日志与BaseUrl封装
接口自动化框架(1-4)(5)(6)(7)(8)(终极版)共6个分支
1pytest插件,运行规则以及参数,pytest.ini配置文 件,跳过用例,用例执行顺序,夹具等
2Fixture固件,contest.py,断言以及Allure报告生成!
3Allure报告定制以及Parametrize数据驱动
4requests模块详解以及Cookie,Session关联处理
5接口统一请求封装和接口关联封装
6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进
7热加载封装以及断言封装
8数据类型处理以及DDT数据驱动封装
9异常日志与BaseUrl封装
前面小编介绍过如何通过钉钉机器人在钉钉群中
发送禅道的缺陷内容,今天小编在这里介绍如何将统计好的测试结果和
allure报告一起
发送到钉钉群中,这样群里的同事,直接可以点击使用,方便更快的了解到自动化结果的执行情况。
小编先编写几个简单的用例,然后通过
allure生成
测试报告。
# coding:utf-8
import
pytest
class TestCase:
继续集成jenkins+allure+pytest+邮件发送+钉钉机器人通知实现思路报告截图邮箱发送钉钉机器人发送测试结果jenkins配置运行python钉钉、邮件脚本配置邮件发送(重点构建结束触发另一个任务构建)配置钉钉发送测试
0.邮件和钉钉都要在自动化执行完成后再去执行,不然拿到的数据和报告就不是最新的(重点)
1.由于报告是在线展示,我这是本地,就使用selenium去登录截图2个报告的页面,也可以截更多。保存到本地
2.通过邮箱发送截图附件实现邮箱发送报告
3.jenkins下
pycharm中运行:
pytest.main(['-s','--html=report.html'])
执行完之后,在当前目录会生成一个report.html的
报告文件,显示效果如下
报告独立显示
上面方法生成的
报告,css是独立的,分享
报告的时候样式会丢失,为了更好的分享发邮件展示
报告,
Python Requests Excel Pytest Allure接口框架是一种基于Python语言、使用Requests库进行接口请求、使用Excel文件作为测试数据存储、使用Pytest框架进行测试执行、使用Allure报告进行测试结果展示的接口自动化测试框架。
该框架具有以下特点:
1. 使用Excel文件作为测试数据存储,方便测试数据的管理和维护。
2. 使用Requests库进行接口请求,支持GET、POST、PUT、DELETE等请求方法。
3. 使用Pytest框架进行测试执行,支持参数化测试、测试用例分组、测试前置后置处理等功能。
4. 使用Allure报告进行测试结果展示,支持测试报告的图表展示、测试结果统计等功能。
使用该框架可以快速构建接口自动化测试脚本,提高测试效率和测试质量。
SQL语句多一个逗号引起的骚乱(1064 - You have an error in your SQL syntax; check the manual that corresponds to y)
38887
run.py: error: unrecognized arguments: --alluredir ./test_case --alluredir ./target/allure-results
python3发邮件加附件,发送自动化测试邮件变为bin格式。
Thuginsuits:
appium 多个APP进行切换测试
默金……:
appium 多个APP进行切换测试
小羊只会print:
python3+uiautomator2+pytest+allure-demo+POM模型实现APP自动测试框架
默金……: