python发送邮件(在邮件中显示HTMLTestRunner生成的报告)
- import smtplib
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- from HTMLTestRunner import HTMLTestRunner
- from email.header import Header
- import unittest
- import time,os
- #==============定义发送邮件 ===============
- def send_mail(file_new):
- f = open(file_new,'rb')
- #读取测试报告正文
- mail_body = f.read()
- f.close()
- # 发送邮箱服务器
- smtpserver = "smtp.wondershare.cn"
- # 发件人邮箱
- sender = 'buyer_1291455767_per@wondershare.cn'
- # 发件人邮箱密码
- password = 'Hello789'
- # 接收人邮箱
- receiver = ['jiangyf@wondershare.cn','buyer_1291455767_per@wondershare.cn']
- #通过 模块构造的带附件的邮件如图
- msg = MIMEMultipart()
- #编写html类型的邮件正文,MIMEtext()用于定义邮件正文
- #发送正文
- text = MIMEText(mail_body, 'html', 'utf-8')
- text['Subject'] = Header('自动化测试报告', 'utf-8')
- msg.attach(text)
- #发送附件
- #Header()用于定义邮件标题
- msg['Subject'] = Header('自动化测试报告', 'utf-8')
- msg_file = MIMEText(mail_body, 'html', 'utf-8')
- msg_file['Content-Type'] = 'application/octet-stream'
- msg_file["Content-Disposition"] = 'attachment; filename="TestReport.html"'
- msg.attach(msg_file)
- # 如果只发正文的话,上面的代码 从receiver下面到这段注释上面
- # 全部替换为下面的两行代码即可,上面的代码是增加了发送附件的功能。
- # text = MIMEText(mail_body, 'html', 'utf-8')
- # text['Subject'] = Header('自动化测试报告', 'utf-8')
- smtp = smtplib.SMTP()
- smtp.connect(smtpserver)
- smtp.login(sender, password) # 登录的用户名和密码
- smtp.sendmail(sender, receiver, msg.as_string())
- smtp.quit()
- print('sendmail success')
- #======================查找最新的测试报告==========================
- def new_report(testreport):
- dirs = os.listdir(testreport)
- dirs.sort()
- newreportname = dirs[-1]
- print('The new report name: {0}'.format(newreportname))
- file_new = os.path.join(testreport, newreportname)
- return file_new
- if __name__ == '__main__':
- test_report = "D:\\Python\\Demo\\report"
- new_report = new_report(test_report)
- send_mail(new_report)
python发送邮件(在邮件中显示HTMLTestRunner生成的报告)的更多相关文章
- 定时执行自动化脚本-(二)ant发送邮件及邮件中添加附件
发送邮件及邮件添加附件均需要用java来实现 1.idea创建一个maven的java项目,目录结构如下 2.pom.xml文件添加依赖的javax.mail <dependencies> ...
- Python3.0 调用HTMLTestRunner生成的报告中不能显示用例中print函数的输出
官方原生的HTMLTestRunner.py支持python2.0版本,python3.0版本的使用需要做一些修改: Python3调用HTMLTestRunner执行用例生成测试报告中,不能正常显示 ...
- 转-调用HTMLTestRunner生成的报告中不能显示用例中print函数的输出
官方原生的HTMLTestRunner.py支持python2.0版本,python3.0版本的使用需要做一些修改: Python3调用HTMLTestRunner执行用例生成测试报告中,不能正常显示 ...
- Python 3.6版本中实现 HTMLTestRunner输出时”fp=file(filename,'wb')“报错
原错误代码: if __name__=='__main__': suite=unittest.makeSuite(WidgetTestCase) filename='D:\\myreport.html ...
- 【转】【Python】Python发送邮件(常见四种邮件内容)
在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...
- python发送邮件
python发送邮件(无附件) ======================================================= #!/usr/bin/env python#coding ...
- python发送各类邮件的主要方法
更多详见: http://www.w3cschool.cc/python/python-email.html python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法 ...
- Python发送邮件(最全)
简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件. Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听 ...
- python发送邮件方法总结
python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点. 一.相关模块介绍 发送邮件主要用到了smtplib和ema ...
随机推荐
- tp5.0 结合 Redis Cache缓存风暴
方法介绍 1.sadd() 描述:为一个Key添加一个值.如果这个值已经在这个Key中,则返回FALSE. 参数:key value 返回值:成功返回true,失败false 2.delete() ...
- 绕过PALOALTO TRAPS EDR解决方案
0x1 技术点 PaloAlto Traps(EDR解决方案)基于行为封锁和标记许多黑客工具. 0x2 绕过方法 最简单的解决方案就是禁用内置实用程序,即; Cytool.Cytool是一个集成命令行 ...
- Node.js WEB服务器(1)——编写简单的HTTP服务器
基于分而治之的思想,很多架构都会采用分层的模式来处理某类应用.Node.js在Web开发上也是采用这种模式,分别提供了如下的三个层: Node核心 社区模块 应用逻辑 下面是一个最简形式的web服务器 ...
- python3+selenium入门03-操作谷歌浏览器
操作谷歌浏览器同样也需要下载相应的driver插件,官网下载.也可以从我的网盘下载,不过可能不是最新的,网盘地址.打开谷歌浏览器的操作和火狐的差不过. from selenium import web ...
- requests库入门13-会话对象
会话对象可以在跨请求保持某些参数,会话对象有requests api的大部分方法,我理解会话对象就是一个资源共享池 使用requests.Session()可以创建会话对象的实例 还是以之前GitHu ...
- 关于flock
昨天在研究dropbear实现时,看到初始化脚本/etc/init.d/dropbear中有关于文件锁lock的内容,如下: lock /tmp/.switch2jffs mkdir -p /e ...
- OpenStack实践系列⑥构建虚拟机实例
OpenStack实践系列⑥构建虚拟机实例 四.创建一台虚拟机图解网络,并创建一个真实的桥接网络 创建一个单一扁平网络(名字:flat),网络类型为flat,网络适共享的(share),网络提供者:p ...
- codis3.2安装报错dashboard.go:369: [PANIC] call rpc create-proxy to dashboard 127.0.0.1:18080 failed的处理
codis3.2安装报错dashboard.go:369: [PANIC] call rpc create-proxy to dashboard 127.0.0.1:18080 failed的处理 执 ...
- 抢红包时用到的redis函数
2018-2-8 10:25:11 星期四 抢红包时经常会用redis(等其他nosql)的原子性函数去限流, 防止抢超, 下边列出一些主要的原子性函数 限制每个人只能抢一次 getSet(): 设置 ...
- thymeleaf:访问list,map等
1.map 在后端放入一个map Map<String, String> mapDict = serviceBaseDict.selectMap(ConstantDictType.SYSI ...