在前一篇https://www.cnblogs.com/zhengyihan1216/p/11549820.html 中记录了如何生成html格式的报告,

这篇记录下怎么将测试报告通过邮件发出

1、对test_add_dele.py文件进行修改及完善

  注释:email库定义邮件里的内容,smtplib库进行邮件发送

 #coding=utf-8
from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText
from email.header import Header
import smtplib
import unittest
import add_dele
import time
import os #在测试报告目录下找到最新的报告文件,打印且返回最新报告的名称
def find_new_report(report_dirc):
lists = os.listdir(report_dirc)
lists.sort(key=lambda fn:os.path.getmtime(report_dirc+"\\"+fn))
new_report = os.path.join(report_dirc,lists[-1])
print(new_report)
return new_report def send_mail(new_report):
#读取报告
f = open(new_report,'rb')
mail_body = f.read()
f.close()
#定义邮件正文,报告以正文的形式发送
msg = MIMEText(mail_body,'html','utf-8') #定义邮件标题
msg['Subject'] = Header("自动化测试报告","utf-8")
mail_server = "mail.xxxxx.com"
user_name = "username1@xxxxx.com"
pwd = "xxxxx"
from_add = "username1@xxxxx.com"
to_add = "username2@xxxxx.com" smtp = smtplib.SMTP()
smtp.connect(mail_server)
smtp.login(user_name,pwd)
smtp.sendmail(from_add,to_add,msg.as_string())
smtp.quit()
print("emial has send out") if __name__ =="__main__":
#构建测试集
suit = unittest.TestSuite()
#测试集加入add_dele文件中被调用的方法。格式suit.addTest(文件名.类名("方法名"))
suit.addTest(add_dele.Test_test("test_shuzi"))
suit.addTest(add_dele.Test_test("test_liangmethod"))
#定义存放测试报告的路径及文件名
#我定义的路径是:当前路径+存放报告的专有目录Report+文件名(文件名是当前时间+report.html)
curent_dirc=os.path.dirname(os.path.realpath(__file__))
report_dirc = curent_dirc + "\Report"
now = time.strftime("%Y%m%d-%H%M%S")
report_name = report_dirc+"\\"+now+"report.html"
fp = open(report_name,"wb")
runner = HTMLTestRunner(stream=fp,
title="测试一下报告生成",
description="用两个数字的相加减来练习")
runner.run(suit)
fp.close()
#发送邮件
send_mail(find_new_report(report_dirc))
2、username2@xxxxx.com 该邮箱中收到的报告如下截图所示:

 3、注意问题

  如果发出的测试报告里测试用例没有展开,则将.....Python35\Lib\HTMLTestRunner.py文件中的改行删除:  .hiddenRow  { display: none; }

  由于大家用的HTMLTestRunner.py文件版本不同,所以该文件具体在第几行不同,可以根据文字进行搜索后删除。

  

Python3+HTMLTestRunner+SMTP生成测试报告后发送邮件的更多相关文章

  1. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

  2. python 生成测试报告并发送邮件

    前言: 使用unittest编写自动化测试脚本,执行脚本后可以很方便看到测试用例的执行情况. 但如果想向领导汇报工作,就需要提供更直观的测试报告. 思路: 使用unittest编写测试用例,HTMLT ...

  3. python使用 HTMLTestRunner.py生成测试报告

    HTMLTestRunner.py python 2版本 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 使用时,先建立一个”PyDe ...

  4. 9.Selenium+HTMLTestRunner无法生成测试报告(Pycharm)

    1.若编辑器为Pycharm,代码无任何错误,且运行成功,但是无法生成测试报告,原因如下:(本质是编辑器原因) 若光标在如图位置,右键显示为“run 'unittest in XX'”,若是显示这种, ...

  5. 记Selenium HTMLTestRunner 无法生成测试报告的总结

      使用Python ,HTMLTestRunner 生成测试报告时,遇到很奇怪的问题,明明运行的结果,没有任何报错,就是不生成测试报告,纠结好久.google+baidu搜索结果也不满意,最后终于解 ...

  6. Python 中 使用 HTMLTestRunner 模块生成测试报告

     使用 HTMLTestRunner 模块可以生成测试报告,但是系统自带的报告不详细,不好看,所以找了一份详细的报告 HTMLTestRunner 模板,直接导入就能使用 两种方法生成HTML报告,都 ...

  7. 关于Selenium HTMLTestRunner 无法生成测试报告

    解决方法 1: filename = ‘E:\testresult.html’,如果是在windows环境,文件名要使用以下几种格式. ①filename = 'E:\\testresult.html ...

  8. python使用HTMLTestRunner.py生成测试报告

    这里我使用的是python selenium webdriver环境,浏览器驱动安装见selenium 1.下载HTMLTestRunner.py:http://tungwaiyip.info/sof ...

  9. Python 通过配置文件 读取参数,执行测试用例,生成测试报告并发送邮件

    #-*-coding:utf-8-*- #测试用例配置参数 #XXXXX_Uitest->baseinfo->__init__.py base_url = "http://XXX ...

随机推荐

  1. 两个开源的 Spring Boot + Vue 前后端分离项目

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  2. 8.7 NOIP模拟测试14 旋转子段+走格子+ 柱状图

    T1 旋转子段 30% 暴力枚举起点和长度,暴力判断,o(n3)  不知道为什么我拿了40分... 60% 每一个点都有一个固定的旋转中心可以转成固定点,枚举旋转点和长度. 100% 用一个vecto ...

  3. 计时任务之StopWatch

    StopWatch对应的中文名称为秒表,经常我们对一段代码耗时检测的代码如下: long startTime = System.currentTimeMillis(); // 业务处理代码 doSom ...

  4. 如何编写一个Systemd Service(转)

    转自 https://segmentfault.com/a/1190000014740871 0x01 什么是Systemd Service Systemd 服务是一种以 .service 结尾的单元 ...

  5. idea无法识别maven项目

    右击pom文件,Add即可

  6. IOS手机 html5页面 数字变成蓝色链接的原因

    IOS手机 html5页面 数字变成蓝色链接的原因 这个是ios手机自动识别 写如下代码 即可<pre> <meta name="format-detection" ...

  7. UVA 10924 Prime Words 题解

    Prime Words A prime number is a number that has only two divisors: itself and the number one. Exampl ...

  8. Rider 中无法显示DataTable,VS2019的.netCore才有DataTable可视化工具(4)

    如下图在vs2017中是这样的 在2019中是可以直接看的 在Rider中无论什么项目都不支持.

  9. Linux启动/停止/重启gitlab

    # Start all GitLab components sudo gitlab-ctl start # Stop all GitLab components sudo gitlab-ctl sto ...

  10. 《STL源码剖析》——Array

    array array本身内容较少,日常使用也不是很多,里面也没有很高深的技巧 1 array的基本架构 了解array的架构需要一个额外的语法知识: int a[100]; int [100]b; ...