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

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 = "[email protected]"     #发送端
    psw = "jnl**********bef"        #密码/授权码
    receiver = "[email protected]"   #接收端

    #=========编辑邮件内容=========
    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 测试报告附件

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

时间: 2024-10-06 23:24:24

Selenium3+生成HTMLTestRunner测试报告+发送带附件邮箱的相关文章

自动化测试发送带附件的邮件

自动化测试发送带附件的邮件 标签(空格分隔): 带附件邮件 在我们的自动化测试中,有时候会发送报告,有时候会发送带附件的报告,具体带附件的报告怎么操作呢? 具体的步骤如下述所示:如下是QQ邮箱为例 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # 用于传送附件 smtpserver = 'smtp.exmail.qq.com' user = '*

Python2.7 smtplib发送带附件邮件报错STARTTLS解决方法

最近在SIOMP系统中添加一项功能时,即自动发送带附件邮件到指定邮箱时,发现在发送时报错:错误信息:STARTTLS extension not supported by server.很是奇怪,但发送无附件邮件时,可以正常发送,且不报错,前期以为是代码存在问题,如果调出对应的错误信息反馈,似乎和代码没有什么关系: 详细代码如下所示: # -*- coding: utf-8 -*- import email from email.mime.text import MIMEText from em

java mail邮件发送(带附件) 支持SSL

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的server的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 pr

java mail邮件发送(带附件)

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的服务器的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 priva

转 生成 HTMLTestRunner 测试报告

转自:http://www.cnblogs.com/hero-blog/p/4128575.html 04.生成 HTMLTestRunner  测试报告 1.HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告 1>下载HTMLTestRunner.py文件,地址为: http://tungwaiyip.info/software/HTMLTestRunner.html Windows平台: 将下载的文件放入...\P

ORACLE发送带附件邮件的二三事之一

在oracle使用过程中,我们可以通过pl/sql生成数据文件,也可以通过spool on spool off生成,但某些环境下,我们需要通过存储过程处理数据,数据处理完,需要自动生成数据文件,手工导出生成方式便不适用. 下面我们尝试这样处理,能够满足我们的需求 第一步:发送带附件邮件必须需可以生成附件,检查是系统是否有权限 select * from all_directories 默认系统配置有"DATA_PUMP_DIR",如果没有联系dba创建 create directory

Android上发送带附件的邮件

准备工作-下载最新版本的JMail https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html 在android上发送邮件方式: 第一种:借助GMail APP客户端,缺点是必须使用GMail帐号,有点是比较方便 不需要写很多代码,但是不是很灵活. 第二种

使用Spring发送带附件的电子邮件(站内和站外传送)

JavaMail的介绍 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.   虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件.除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF).JavaBeans Activa

(转)用javamail发送带附件的邮件

本文转载自:http://redleaf.iteye.com/blog/78217 mail.java 代码 package mail; import java.util.* ; import java.io.* ; import javax.mail.* ; import javax.mail.internet.* ; import javax.activation.* ; public class Mail { //定义发件人.收件人.SMTP服务器.用户名.密码.主题.内容等 privat