添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
文雅的椅子  ·  电池管理论文解读 ...·  10 月前    · 
博学的保温杯  ·  新一代Spring ...·  1 年前    · 
谦和的灌汤包  ·  Python-datetime — ...·  1 年前    · 

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: 无
        #file_path = f"{file_path}/test_report"
        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'])
        # setting['contents']
        # 关闭服务
        yag.close()
        Logger.success("邮件发送成功!")
# if __name__ == '__main__':
#     EmailServe.zip_report('../target/allure-report', '../allure-report.zip')
#     file_path='../allure-report.zip'
#     from common.read_file import ReadFile
#     setting = ReadFile.read_config('$.email')
    #EmailServe.send_email(setting,file_path)
<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 框架搭建历程如下 1pytest插件,运行规则以及参数,pytest.ini配置文 件,跳过用例,用例执行顺序,夹具等 2Fixture固件,contest.py,断言以及Allure报告生成! 3Allure报告定制以及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: nb,在这解决了。 appium 多个APP进行切换测试 默金……: 在这之前,打开app,在执行命令,它是获取当前界面的信息 appium 多个APP进行切换测试 小羊只会print: 博主,通过adb shell dumpsys SurfaceFlinger 怎么知道哪个是哪个软件呢 python3+uiautomator2+pytest+allure-demo+POM模型实现APP自动测试框架 默金……: 有点小区别,大体的模式思路是一样的