pytest+allure的接口测试报告【发送邮件】

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"/>
<ul>

    <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>
</ul>

<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/>

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值