码迷,mamicode.com
首页 > Web开发 > 详细

Selenium3+生成HTMLTestRunner测试报告+发送带附件邮箱

时间:2018-12-16 15:20:49      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:close   tac   efault   ima   授权   read   base64   ade   下载   

1、导入各功能模块

from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText    #发送邮件正文
from email.mime.multipart import MIMEMultipart   #发送邮件附件
from email.header import Header
import smtplib
import unittest
import time
import os

2、定义发送邮件(QQ邮箱)

#============定义发送邮件============
def send_mail(file_new):
    smtpserver = "smtp.qq.com"      #发件服务器
    port = 465                      #端口
    sender = "540XXXXXX@qq.com"     #发送端
    psw = "jnl**********bef"        #密码/授权码
    receiver = "810XXXXXX@qq.com"   #接收端

    #=========编辑邮件内容=========
    f = open(file_new, rb)
    mail_body = f.read()
    f.close()

    msg = MIMEMultipart()
    msg["from"] = sender    #发件人
    msg["to"] = receiver    #收件人
    msg["subject"] = "自动化测试报告"  #主题

    #正文
    body = MIMEText(mail_body, "html", "utf-8")
    msg.attach(body)    #挂起

    #附件
    att = MIMEText(mail_body, "base64", "utf-8")
    att["Content-Type"] = "application/octet-stream"
    att["Content-Disposition"] = attachment; filename="test_report.html"  #定义附件名称
    msg.attach(att)     #挂起

    #=========发送邮件=========
    smtp = smtplib.SMTP_SSL(smtpserver, port)
    smtp.login(sender, psw)
    smtp.sendmail(sender, receiver, msg.as_string())    #发送
    smtp.quit() #关闭

3、查找测试报告目录,找到最新生成的测试报告文件

#============查找测试报告目录,找到最新生成的测试报告文件============
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

4、测试运行以上各代码模块

if __name__ == __main__:
    test_dir = ./test_case/    #测试用例所在目录
    test_report = ./report/    #测试报告所在目录

    discover = unittest.defaultTestLoader.discover(test_dir,pattern=test_*.py)    #匹配目录下以"test_"开头的测试用例文件

    #定义实时测试报告文件,方便查看区分
    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)       #发送测试报告

5、测试成功

技术分享图片

6、下载打开 test_report.html 测试报告附件

技术分享图片

 

Selenium3+生成HTMLTestRunner测试报告+发送带附件邮箱

标签:close   tac   efault   ima   授权   read   base64   ade   下载   

原文地址:https://www.cnblogs.com/test-postman/p/10126374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!