生成html报告并整合自动发动邮件功能
from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText
from email.header import Header
import smtplib
import unittest
import time
import os
#---------定义发送邮件--------------#
def send_mail(file_new):
f = open(file_new,'rb')
mail_body = f.read()
f.close()
# 发送邮箱服务器
smtpserver = 'smtp.163.com'
# 发送邮箱用户/密码
user = 'dashu10_0@163.com'
password = 'ren313123'
# 发送邮箱
sender = 'dashu10_0@163.com'
# 接收邮箱
receiver = '568330959@qq.com','dehom_123@163.com'
#receiver = 'dehom_123@163.com'
# msg = MIMEText(mail_body, 'html', 'utf-8')
msg = MIMEText(mail_body, _subtype = 'html', _charset = 'utf-8')
# 发送邮件主题
subject = '自动化测试报告'
msg['from'] = sender
msg['to'] = ','.join(receiver)
# 编写HTML类型的邮件正文
msg['Subject'] = Header(subject, 'utf-8')
# 连接发送邮件
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print('email has send out!')
# ------------查找测试报告目录,找到最新生成的测试报告文件
def new_report(testreport):
lists = os.listdir(testreport)
lists.sort(key=lambda fn:os.path.getatime(testreport + "\\" + fn))
file_new = os.path.join(testreport,lists[-1])
print(file_new)
return file_new
if __name__ == '__main__':
#.py文件包的位置
test_dir = 'C:\\Users\\dingce\\PycharmProjects\\untitled2\\ecshopPackage'
#HTML报告的位置
test_report = 'E:\\'
#运行指定py文件s生成以下的报告
discover = unittest.defaultTestLoader.discover(test_dir,pattern='suiyi*.py')
#时间
now = time.strftime("%Y-%m-%d_%H_%M_%S")
filename = test_report + '\\' + now + 'result.html'
fp = open(filename,'wb')
runner = HTMLTestRunner(stream=fp,title='测试报告',description='用例执行情况:')
runner.run(discover)
fp.close()
new_report = new_report(test_report)
send_mail(new_report) #发送测试报告
#整个程序的执行过程可以分为三个步骤
#1.通过unittest框架的discover()找到匹配测试用例,由HTMLTestRunner的run()方法执行测试用例并生成最新的测试报告
#2.调用new_report()函数找到测试报告目录(E盘)下最新生成的测试报告,返回测试报告的路径
生成html报告并整合自动发动邮件功能的更多相关文章
- Selenium 2自动化测试实战38(整合自动发邮件功能)
整合自动发邮件功能 解决了前面的问题后,现在就可以将自动发邮件功能集成到自动化测试项目中了.下面重新编辑runtest.py文件 #runtest.py #coding:utf-8 from HTML ...
- Python+selenium整合自动发邮件功能
主要实现的目的是:自动将测试报告以邮件的形式通知相关人员 from HTMLTestRunner import HTMLTestRunner import HTMLTestReport from em ...
- Selenium 2自动化测试实战37(自动发邮件功能)
自动发邮件功能 例如,如果想在自动化脚本运行完成之后,邮箱就可以收到最新的测试报告结果.SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到 ...
- Nagios 配置自动发邮件功能
安装sendmailyum install -y sendmail* mailx 修改防火墙设置,添加25端口到防火墙vi /etc/sysconfig/iptables 重启 iptables.se ...
- java实现后台自动发邮件功能
web.xml文件 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLI ...
- python自动发邮件库yagmail
#### 一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text import MIMEText from ...
- python自动发邮件库yagmail(转)
一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text import MIMEText from email ...
- 【python】python 自动发邮件
一.一般发邮件的方法 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 注意到构造MIMETEXT对象时,第一个参数就是邮件正文,第 ...
- 关于TD邮件功能不能发到认证邮箱的解决之法
[原创] 关于TD邮件功能不能发到认证邮箱的解决之法 认证邮箱, 邮件服务器, 用户, 邮件系统 鉴于不少同行询问TD发邮件的问题,今天重新更新一下说明 解决问题的原则如下一.在TD服务器上安装一个邮 ...
随机推荐
- 雷林鹏分享:C# 接口(Interface)
C# 接口(Interface) 接口定义了所有类继承接口时应遵循的语法合同.接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分. 接 ...
- 使用mothur进行OTU聚类
微生物16S的OTU聚类工具有很多,最常用的就是 usearch.cdhit-OTU.mothur. 这些工具大多都是针对二代测序平台的,usearch的64bit版本是收费的. 如果要跑PacBio ...
- Linux中查看各文件夹大小(扫盘)
df -h ./ du -hs ./ du -h /ifs4/BC_RD/USER/lizhixin/my_project/human_chr22 | grep [[:digit:]+]G du [- ...
- Howto: 使用ImageBrush替换PictureMarkerSymbol以加强graphic显示性能
软件: ArcGIS API for Microsoft Silverlight/WPF 9.3.1 操作系统: N/A 摘要: ArcGIS API for Microsoft ...
- Assert.IsNotNull 方法(判断对象不为NULL)
Assert.IsNotNull 方法 Visual Studio 2012 其他版本 Visual Studio 2010 Visual Studio 2008 Visual Studio 20 ...
- 总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法
1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show ...
- PHP中输出本地时间
<?php header("Content-Type:text/html;charset=utf-8"); // 输出日 echo date("l") . ...
- POJ 2251 bfs
DESCRIPTION:给你一个三维的迷宫.问你是否能从起点走到终点.如果能,输出最小步数.对我来说难得就是我没有想到怎么把他给你的三维图转换成map.恩..好像解题报告上说.只要是这种的最短路都要用 ...
- sgu108. Self-numbers 2 滚动数组 打表 难度:1
108. Self-numbers 2 time limit per test: 0.5 sec. memory limit per test: 4096 KB In 1949 the Indian ...
- 申请和使用github共享代码
1.申请github帐号 https://github.com/join?source=header-home 2.创建项目 2.1 或者: 2.2 输入信息 2.3创建成功,地址及基本命令提示 3. ...