Python3+HTMLTestRunner+SMTP生成测试报告后发送邮件

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

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

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

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

 1 #coding=utf-8
 2 from HTMLTestRunner import HTMLTestRunner
 3 from email.mime.text import MIMEText
 4 from email.header import Header
 5 import smtplib
 6 import unittest
 7 import add_dele
 8 import time
 9 import os
10
11 #在测试报告目录下找到最新的报告文件,打印且返回最新报告的名称
12 def find_new_report(report_dirc):
13     lists = os.listdir(report_dirc)
14     lists.sort(key=lambda fn:os.path.getmtime(report_dirc+"\\"+fn))
15     new_report = os.path.join(report_dirc,lists[-1])
16     print(new_report)
17     return new_report
18
19 def send_mail(new_report):
20     #读取报告
21     f = open(new_report,‘rb‘)
22     mail_body = f.read()
23     f.close()
24     #定义邮件正文,报告以正文的形式发送
25     msg = MIMEText(mail_body,‘html‘,‘utf-8‘)
26
27     #定义邮件标题
28     msg[‘Subject‘] = Header("自动化测试报告","utf-8")
29     mail_server = "mail.xxxxx.com"
30     user_name = "[email protected]"
31     pwd = "xxxxx"
32     from_add = "[email protected]"
33     to_add = "[email protected]"
34
35     smtp = smtplib.SMTP()
36     smtp.connect(mail_server)
37     smtp.login(user_name,pwd)
38     smtp.sendmail(from_add,to_add,msg.as_string())
39     smtp.quit()
40     print("emial has send out")
41
42 if __name__ =="__main__":
43     #构建测试集
44     suit = unittest.TestSuite()
45     #测试集加入add_dele文件中被调用的方法。格式suit.addTest(文件名.类名("方法名"))
46     suit.addTest(add_dele.Test_test("test_shuzi"))
47     suit.addTest(add_dele.Test_test("test_liangmethod"))
48     #定义存放测试报告的路径及文件名
49     #我定义的路径是:当前路径+存放报告的专有目录Report+文件名(文件名是当前时间+report.html)
50     curent_dirc=os.path.dirname(os.path.realpath(__file__))
51     report_dirc = curent_dirc + "\Report"
52     now = time.strftime("%Y%m%d-%H%M%S")
53     report_name = report_dirc+"\\"+now+"report.html"
54     fp = open(report_name,"wb")
55     runner = HTMLTestRunner(stream=fp,
56                             title="测试一下报告生成",
57                             description="用两个数字的相加减来练习")
58     runner.run(suit)
59     fp.close()
60     #发送邮件
61     send_mail(find_new_report(report_dirc))
2、[email protected] 该邮箱中收到的报告如下截图所示:

 3、注意问题

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

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

  

原文地址:https://www.cnblogs.com/zhengyihan1216/p/11566988.html

时间: 2024-10-05 23:48:15

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

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

使用Python ,HTMLTestRunner 生成测试报告时,遇到很奇怪的问题,明明运行的结果,没有任何报错,就是不生成测试报告,纠结好久.google+baidu搜索结果也不满意,最后终于解决,先总结下. 代码示例 """ OS:W7 64位 IDE:Pycharm Py:Python2.7.11 """ # -*- coding: utf-8 -*- __Author__ = "xiewm" import time f

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

使用Python ,HTMLTestRunner 生成测试报告时,遇到很奇怪的问题,明明运行的结果,没有任何报错,就是不生成测试报告,纠结好久.google+baidu搜索结果也不满意,最后终于解决,先总结下. 代码示例 #coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom s

使用HTMLTestRunner模块生成测试报告

步骤: 1.下载HTMLTestRunner模块 HTMLTestRunnerCN.py是中文版本的,EN是英文版本的,将要使用的版本放到Python安装目录下lib文件夹中,然后试试看能不能import,能import就表示OK了 2.导入模块 3.使用模块 创建测试执行器时使用该模块 fp = open('./ddd.html','wb')print('aaaa')#创建测试执行器testrunnerrunner = HTMLTestReportCN.HTMLTestRunner( stre

Pycharm下HTMLTestRunner不生成测试报告

网上搜索资料,最终找到了本次解决的方案: 1.修改Edit Configurations... 2.将测试脚本从Python tests中删除,再Python下新增脚本,这样就不会运行自带的unittest框架了 参考资料:http://blog.csdn.net/xie_0723/article/details/50825310

Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告2(使用PyCharm )

1.说明 在我前一篇文件(Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE ))中简单的写明了,如何生产测试报告,但是使用IDLE很麻烦,而且在实际的项目中也不方便,所以,查了很多资料来研究如何在PyCharm中生成测试报告,故此记录一下(命名什么的不规范就不要纠结了). 2.步骤 第一步:下载HTMLTestRunner.py 参考:Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使

UI测试后生成测试报告,利用shell脚本上传svn

ui测试后生成测试报告,把报告保存在某一个固定路径 shell脚本把这个报告上传 #!/bin/bash -ile #svn下载文件 #svn checkout http://svn.xxx.com/svn/xxxx/trunk/UI/report --username xxx --password dsdfsdf; svn checkout http://svn.xxx.com.cn/svn/xxxx/trunk/UI/report cd report pwd #是否存在report 文件,如

katalon studio升级到6.3.3版本后如何生成测试报告

背景: katalon studio 6.3.0版本开始,默认不会生成测试报告,因此,原先自动化运行结果的邮件也就不会包含测试报告附件. 解决方法如下: 通过插件[basic reports]生成测试报告,邮件就可以正常带上啦. 1.安装[basic reports]插件,插件安装完成后,需要选择[Reload Plugins],插件才能真正生效: 2.project-settings,设置测试执行过程自动生成HTML/CSV/PDF/Junit格式的测试报告 如上配置后,重新运行testsui

python接口自动化测试(七)unittest 生成测试报告

用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: 这个模块不能通过pip安装,只能下载安装,下载地址如下: python2.x版本:http://tungwaiyip.info/software/HTMLTestRunner.html python3.x版本:http://hzqldjb.blog.51cto.com/9587820/1590802

selenium基础(生成测试报告)

测试报告 生成HTML测试报告 下载HTMLTestRunner.py包 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载后,把HTMLTestRunner.py 文件复制到Python 安装路径下的lib文件夹中即可. 引入包的方式:from HTMLTestRunner import HTMLTestRunner 在python3中用HTMLTestRunner.py报importError“:No module name