Python添加邮件附件并通过邮件发送测试报告
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText class SendEmail:
"""邮件方式发送报告"""
global send_user
global email_host
global password
send_user = "AAAAA@163.com"
email_host = "smtp.163.com"
password = 'CCCC' def send_mail(self, user_list, sub, content):
"""
发送邮件
:param user_list: 收件人列表
:param sub: 主题
:param content: 内容
:return:
"""
user = "zhangweixu1379@163.com" + "<" + send_user + ">"
message = MIMEMultipart()
message['Subject'] = sub
message['From'] = user
message['To'] = ",".join(user_list)
body = MIMEText(content, _subtype="plain", _charset="utf-8") # 邮件内容
message.attach(body)
# 添加附件
att = MIMEText(open("../dataconfig/case1.xls", "rb").read(), "base64",
"utf-8") # 打开附件地址
att["Content-Type"] = "application/octet-stream"
att["Content-Disposition"] = 'attachment; filename="case1.xls"'
message.attach(att)
server = smtplib.SMTP()
server.connect(email_host)
server.login(send_user, password)
server.sendmail(user, user_list, message.as_string())
server.close() def send_main(self, pass_list, fail_list):
"""
发送报告
:param pass_list:
:param fail_list:
:return:
"""
pass_num = float(len(pass_list))
fail_num = float(len(fail_list))
count_num = pass_num + fail_num
pass_result = "%.2f%%" % (pass_num / count_num * 100)
fail_result = "%.2f%%" % (fail_num / count_num * 100)
user_list = ['XXXX@dingtalk.com', 'XXX@dingtalk.com'] sub = '接口自动化测试报告'
content = f"此次接口测试一共运行用例为:{count_num},通过个数为:{pass_num},失败个数为:{fail_num},通过率为:{pass_result},报告详情请查看附件!"
self.send_mail(user_list, sub, content) if __name__ == '__main__':
send = SendEmail()
send.send_main([1, 2, 3, 4], [6, 2])
Python添加邮件附件并通过邮件发送测试报告的更多相关文章
- Python Selenium unittest+HTMLTestRunner实现 自动化测试及发送测试报告邮件
1.UI测试框架搭建-目录结构 2. 文件介绍 2.1.baseinfo->__init__.py 配置文件定义基础参数 #-*-coding:utf-8-*- #测试用例配置参数 base_u ...
- .NET接收邮件下载邮件附件——openpop.net
使用OpenPop.Net接收邮件很方便,下面是接收下载邮件附件的代码 OpenPop.Net下载地址 https://sourceforge.net/projects/hpop/ public cl ...
- python3:利用SMTP协议发送QQ邮件+附件
转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...
- 基于Java Mail 进行发送(带附件和压缩附件)的邮件
刚进公司的training, 下面是要求: Self-study of Java Mail library: http://www.oracle.com/technetwork/java/javam ...
- kettle文件以邮件附件的形式发送报告
将从表中导出的excel文件以邮件附件的形式发送报告 step1: 导出文件file1.xls step2: add filename to result将文件添加到结果 step3: 发送邮件
- Python + HTMLTestRunner + smtplib 完成测试报告生成及发送测试报告邮件
一下代码是自己结合教材,并结合以往用到的实例编写的代码,可以做为参考 import smtplib from email.mime.text import MIMEText from email.mi ...
- 【转】【Python】Python发送邮件(常见四种邮件内容)
在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...
- python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
简介 本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理.在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下, ...
- python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
简介 上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件.发送带附件的需要导入另外一个模块 ...
随机推荐
- UWP GridView切换数据时界面闪动
在选择数据时,比如1-10集,和11-20集切换时,GridView需要切换对应的数据,但是会发生界面闪动. 这是默认的Item Transition导致的. 可以去掉默认的转换效果. <Gri ...
- MongoDB(三):数据库操作、集合操作
1. 数据库操作 看完前面的文章,大家应该把环境搭建好了,下面我们就开始学习MongoDB的一些基本操作了. 首先我们要了解的一些要点: MongoDB将数据存储为一个文档,数据结构由键值对(key= ...
- How to: Implement a Custom Base Persistent Class 如何:实现自定义持久化基类
XAF ships with the Business Class Library that contains a number of persistent classes ready for use ...
- Kali Linux configuration "Ettercap"
Xx_Instroduction Ettercap is a man-in-the-middle attack(MITM) tool,kali take this tool,so,use front ...
- 44.QT-安装MySQL、测试连接MySQL
在上章学习了42.QT-操作SQLite数据库后,发现MySQL和SQLite的语句都大致相同,所以本章只测试MySQL是否能使用 MySQL安装参考链接:https://blog.csdn.net/ ...
- 《收获,不止SQL优化》这本书,有很多即用的脚本工具,或者根据自己的需求,改造重用,可以积累到自己的工具库中。
以下两个脚本,官方来源: https://github.com/liangjingbin99/shouhuo/tree/master/%E7%AC%AC05%E7%AB%A0 1. 找出未使用绑定变量 ...
- 使用C#面向对象实现简易计算器(简单工厂模式)
操作流程: 1. 新建Operation类 2. 新建OperationAdd类,并继承Operation类 3. 新建OperationSub类,并继承Operation类 4. 新建Operati ...
- Java8_stream的map和flatmap
假如我们有这样一个需求给定单词列表["Hello","World"],你想要返回列表["H","e","l&q ...
- centos7 配置阿里镜像
1. 备份原来的yum源 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2.设置aliyun的y ...
- 用Python代码写的计算器
1.极限压缩版 import re, functools def cal(formula): while re.search('(?:\d+\.?\d+|\d+)[+\-*/]', formula): ...