ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【自动化测试学习笔记】python发送邮件模块--zmail

2020-12-19 22:05:20  阅读:247  来源: 互联网

标签:__ python discover -- report import zmail 邮件


 

 

前言

  • 为什么选择zmail?
  • zmail能解决工作中什么样的问题?

安装zamil模块

pip install zamil

zmail有哪些优点?

  • 自动查找服务器自地址及其端口
  • 自动使用合适的协议登录
  • 自动将python字典转换为MIME对象(带附件)
  • 自动添加邮件标题和本地名称,以避免服务器拒绝您的邮件
  • 轻松自定义邮件标题
  • 支持HTML作为邮件内容
  • 只需要python> = 3.5,您可以将其嵌入到项目中而无需其他模块

演式发送邮件

  1. 建1个HTMl文件
  2. 邮件发送HTML文件
  3. 演式效果

实战演练

![ ](C:\Users\yifan\AppData\Roaming\Typora\typora-user-images\image-20200731130139161.png)

生成HTML测试报告

#!/usr/bin/python3

# @Time    : 2020/7/31 10:55
# @Author  : 程序员一凡

import unittest
import HTMLTestRunner


# 用例目录地址
test_dir = "./"

def case():
    #  加载测试用例
    discover = unittest.defaultTestLoader.discover(test_dir,
                                                   pattern="test*.py"
                                                   )
    return discover

if __name__ == '__main__':
    # 测试报告存放目录
    report_path = "D:/report/result.html"
    
    file = open(report_path, 'wb')
    # 定义测试报告
    runner = HTMLTestRunner.HTMLTestRunner(stream=file,
                                           title="测试报告",
                                           description="用列执行结果")
    # 执行用例生成报告
    runner.run(case())

运行结果:

![image-20200731113929169](C:\Users\yifan\AppData\Roaming\Typora\typora-user-images\image-20200731113929169.png)

邮件模块

#!/usr/bin/python3

# @Time    : 2020/7/31 8:28
# @Author  : 程序员一凡

import zmail

def s_mail()
    report_path = "D:/report/result.html"

    MAIL = {
        'subject': '邮件主题',  
        'content_text': '测试发送邮件',
        'attachments': report_path, 
    }
    server = zmail.server("284029574@qq.com", "htkbbafwycpgbgfd")
    # 如果有多个收件人,则用列表
    server.send_mail("813825089@qq.com", MAIL)

完整代码

#!/usr/bin/python3

# @Time    : 2020/7/31 10:55
# @Author  : 程序员一凡

import unittest
import HTMLTestRunner
# 导入发送邮件模块
from Mail.zmail import s_mail

# 用例
test_dir = "./"

def case():
    #  加载用例
    discover = unittest.defaultTestLoader.discover(test_dir,
                                                   pattern="test*py",
                                                   )
    return discover

if __name__ == '__main__':
    # 报告生成目录
    report_path = "D:/report/result.html"
    # 测试结果写入到报告里
    file = open(report_path, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=file,
                                           title="测试报告",
                                           description="用列执行结果")
    # 执行用例生成报告
    runner.run(case())
    # 一定是要先关闭文件再执行下方的发送邮件,否则发送后的附件会为空
    file.close()
    s_mail()

运行结果:

![image-20200731114444873](C:\Users\yifan\AppData\Roaming\Typora\typora-user-images\image-20200731114444873.png)

愿你我相遇,皆有所获!

标签:__,python,discover,--,report,import,zmail,邮件
来源: https://www.cnblogs.com/WeTester/p/14161457.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有