Python+selenium整合自动发邮件功能
主要实现的目的是:自动将测试报告以邮件的形式通知相关人员
from HTMLTestRunner import HTMLTestRunner
import HTMLTestReport
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')
filename = f.read ()
f.close ()
smtp = smtplib.SMTP ()
smtp.connect ('smtp.163.com')
sender = 'fengyiru6369@163.com'
receiver = '1194150169@qq.com'
username = 'fengyiru6369@163.com'
password = 'FYRu19200915'
smtp.login (username, password) subject = '附件为最新测试报告,望查收'
msg = MIMEText (filename, 'html', 'utf-8')
msg['Subject'] = Header("自动化测试报告",'utf-8')
msg['From'] = 'Tim<fengyiru6369@163.com>'
msg['To'] = '1194150169@qq.com'
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.getmtime (testreport + "\\" + fn))
file_new = os.path.join (testreport, lists[-1])
print (file_new)
return file_new if __name__ == "__main__":
test_dir = r'E:\python\测试报告'
test_report = r'E:\python\测试报告'
discover = unittest.defaultTestLoader.discover (test_dir, pattern='testreport1.py')
now = time.strftime ("%Y-%m-%d_%H_%M_%S")
filename1 = test_report + '\\' + now + 'result.html'
fp = open (filename1, 'wb')
# runner = HTMLTestReport.HTMLTestRunner (stream=fp, title=u"自动化测试报告", description='自动化测试演示报告', tester='fyr')
runner = HTMLTestRunner (stream=fp, title='集成测试报告', description='测试用例执行情况')
runner.run (discover)
fp.close ()
new_report = new_report (test_report)
print(new_report)
send_mail (new_report) # 发送测试包
该程序的执行过程分为三个步骤:
1.通过unittest框架的discover()找到匹配的测试用例,由HTMLTestRunner的run()方法执行测试用例并生成最新的测试报告。
2.调用new_report()函数找到测试报告目录找到测试报告目录(report)下最新的测试报告,返回测试报告的测试报告的路径。
3.将得到的最新测试报告的完整路径传给send_mail()函数,实现发送邮件功能。
Python+selenium整合自动发邮件功能的更多相关文章
- Selenium 2自动化测试实战38(整合自动发邮件功能)
整合自动发邮件功能 解决了前面的问题后,现在就可以将自动发邮件功能集成到自动化测试项目中了.下面重新编辑runtest.py文件 #runtest.py #coding:utf-8 from HTML ...
- 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 ...
- 生成html报告并整合自动发动邮件功能
from HTMLTestRunner import HTMLTestRunnerfrom email.mime.text import MIMETextfrom email.header impor ...
- 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对象时,第一个参数就是邮件正文,第 ...
- python连接数据库自动发邮件
python连接数据库实现自动发邮件 1.运行环境 redhat6 + python3.6 + crontab + Oracle客户端 2.用到的模块 3.操作步骤 (1)安装python3.6参考 ...
随机推荐
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
2017-03-16 11:23:29.601 1238 ERROR nova.compute.manager [instance: 3f195047-250a-4eb5-8da0-63bea6e26 ...
- C#窗体上绘制矩形
先上效果图 鼠标三个事件 private void Form1_MouseDown(object sender, MouseEventArgs e) { //记录开始点 this.mousedown ...
- 如何部署JavaWeb应用
准备 公网主机一台(推荐云服务器) 数据库安装包 JDK安装包 Tomcat安装包 WAR包(web应用包) 部署 安装所需软件,并测试基本环境是否可用 将WAR包解压至Tomcat目录下的webap ...
- sqlserver2012——EXISTS关键字
1.返回TRUE或者FALSE 如果exists查询存在,则能查询出来 select a.* From 成绩信息 a ’) 2.判断用户登录 ) ) ' set @pwd='xxxxxxx' if e ...
- 汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count
CREATE TABLE `departments` (`dept_no` char(4) NOT NULL,`dept_name` varchar(40) NOT NULL,PRIMARY KEY ...
- Light Pre-Pass 渲染器----为多光源设计一个渲染器
http://blog.csdn.net/xoyojank/article/details/4460953 作者: Wolfgang Engel, 原文: http://www.wolfgang-en ...
- Hyperledger Fabric (1.0)环境部署 chaincode【转】
三.测试Fabric 其实我们在前面运行./network_setup.sh up的时候系统已经运行了一个Example02的ChainCode测试,部署上去的ChainCodeName是mycc,所 ...
- 2014-11-1 NOIP模拟赛1
冲刺NOIP2014复赛模拟题第六套第二试 题目名称 日历游戏 最大公约数 密码 英文代号 calendar gcd pasuwado 输入文件名 calendar.in gcd.in pasuw ...
- 洛谷P1582 倒水
P1582 倒水 题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把 ...
- 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...