首页 技术 正文
技术 2022年11月17日
0 收藏 888 点赞 2,320 浏览 1536 个字

整合自动发邮件功能

解决了前面的问题后,现在就可以将自动发邮件功能集成到自动化测试项目中了。下面重新编辑runtest.py文件

#runtest.py

#coding:utf-8
from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText
from email.header import Header
import smtplib
import unittest,time,os#===================定义发送邮件======================
def send_mail(file_new):
f=open(file_new,'rb')
mail_body=f.read()
f.close() msg=MIMEText(mail_body,'html','utf-8')
msg['subject']=Header(u"自动化测试报告",'utf-8')
msg['from']='xxxxxx@sina.com'
msg['to']='xxxxxx@qq.com' smtp=smtplib.SMTP()
smtp.connect("smtp.sina.com")
smtp.login("xxxxx","xxxxxxx")
smtp.sendmail("xxxxxxx@sina.com","xxxxxxxx@qq.com",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_newif __name__=="__main__": test_dir='F:\\study\\web_demo1\\test_case'
test_report='F:\\study\\web_demo1\\report' discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_*.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=u"测试报告",description=u"用例执行情况:")
runner.run(discover)
fp.close() newreport=new_report(test_report)
send_mail(newreport)#发送测试报告

  

执行后,结果如下图所示:

Selenium 2自动化测试实战38(整合自动发邮件功能)

分析如下:
1.通过unittest框架的discover()找到匹配测试用例,由HTMLTestRunner的run()方法执行测试用例并生成最新的测试报告。
2.调用new_report()函数找到测试报告目录(report)下最新生成的测试报告,返回测试报告的路径。
3.将得到的最新测试报告的完整路径传给send_mail()函数,实现发邮件功能。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,291