#coding=utf-8
import smtplib from email.mime.text
import MIMEText import unittest
import HTMLTestRunner import time,os
#=============定义发送邮件==========
def send_mail(file_new):
#发信邮箱
 mail_from='testingwtb@126.com'
 #收信邮箱
 mail_to='xiaoming@126.com'
 #定义正文
 f = open(file_new, 'rb')
 mail_body = f.read()
 f.close()
 msg=MIMEText(mail_body,_subtype='html',_charset='utf-8')
 #定义标题
 msg['Subject']=u"自动化测试报告"
 #定义发送时间(不定义的可能有的邮件客户端会不显示发送时间)
 msg['date']=time.strftime('%a, %d %b %Y %H:%M:%S %z') smtp=smtplib.SMTP()
 #连接SMTP服务器,此处用的126的SMTP服务器
 smtp.connect('smtp.126.com')
 #用户名密码
 smtp.login('testingwtb@126.com','123456')
 smtp.sendmail(mail_from,mail_to,msg.as_string())
 smtp.quit()
 print 'email has send out !'
#======查找测试报告目录,找到最新生成的测试报告文件====
def send_report(testreport):
 result_dir = testreport lists=os.listdir(result_dir)
 lists.sort(key=lambda fn: os.path.getmtime(result_dir+"\\"+fn))
 #print (u'最新测试生成的报告: '+lists[-1])
 #找到最新生成的文件
 file_new = os.path.join(result_dir,lists[-1])
 print file_new
 #调用发邮件模块
 send_mail(file_new)
#================将用例添加到测试套件===========
def creatsuite(): testunit=unittest.TestSuite()
#定义测试文件查找的目录
test_dir='.\\test_case'
#定义discover方法的参数
 discover=unittest.defaultTestLoader.discover(test_dir,pattern ='test*.py',top_level_dir=None)
 #discover方法筛选出来的用例,循环添加到测试套件中
 for test_case in discover:
  print test_case testunit.addTests(test_case)
  return testunit
if __name__ == '__main__':
  now = time.strftime("%Y-%m-%d %H_%M_%S")
  testreport = 'E:\\test_object\\report\\'
  filename = testreport+now+'result.html'
  fp = file(filename, 'wb')
  runner =HTMLTestRunner.HTMLTestRunner( stream=fp, title=u'自动化测试报告', description=u'用例执行情况:')
alltestnames = creatsuite()
runner.run(alltestnames)
 fp.close()  #关闭生成的报告
 send_report(testreport) #发送报告

Python查找最新测试报告到邮件功能的更多相关文章

  1. Python+selenium整合自动发邮件功能

    主要实现的目的是:自动将测试报告以邮件的形式通知相关人员 from HTMLTestRunner import HTMLTestRunner import HTMLTestReport from em ...

  2. Python 实现发送、抄送邮件功能

    发送邮件 问题 在web.py中,如何发送邮件? 解法 在web.py中使用web.sendmail()发送邮件. web.sendmail('cookbook@webpy.org', 'user@e ...

  3. python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)

    简介 前边几篇,已经教小伙伴们掌握了如何生成HTML的测试报告,那么生成测试报告,我们也不能放在那里不管了,这样即使你报告在漂亮,领导也看不到.因此如果想向领导汇报工作,不仅需要提供更直观的测试报告. ...

  4. 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件

    今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...

  5. (转载)最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件

    今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...

  6. python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)

    简介 上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件.发送带附件的需要导入另外一个模块 ...

  7. Selenium 2自动化测试实战37(自动发邮件功能)

    自动发邮件功能 例如,如果想在自动化脚本运行完成之后,邮箱就可以收到最新的测试报告结果.SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到 ...

  8. Python+unittest发送测试报告

    案例:将E:\Python_script\unittest\Test_Baidu生成的最新测试报告发送到指定邮箱. 我们将之前的unittest的报告生成和Python自动发送邮件结合在一起,就可以完 ...

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

    整合自动发邮件功能 解决了前面的问题后,现在就可以将自动发邮件功能集成到自动化测试项目中了.下面重新编辑runtest.py文件 #runtest.py #coding:utf-8 from HTML ...

随机推荐

  1. Kaldi如何统计data数据集

    统计时长 wav-to-duration scp:data/train/wav.scp ark,t:- 2>/dev/null|awk 'BEGIN{SUM=0}{SUM+=$2}END{pri ...

  2. python之import模块及包的调用

    模块概念 在Python中,一个.py文件就称之为一个模块(Module).使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库.第三方模块.应用程序自定义模块. ...

  3. ES学习

    官方参考手册 https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index.html https://www.elastic.co ...

  4. python 中的"*"与"**"

    1.Python中 *和**很常见的运算符的用途及其多种使用方式. 本文所述的*和**,指的是*和**前缀运算符,而不是中缀运算符. 所以指的不是乘法和乘幂: 使用*和**将参数传递给函数 使用*和* ...

  5. mysql 案例 ~超时时间设置

    一 简介:今天咱们来谈谈mysql的连接时间与会话关系二 分类  mysql会话分类  1 程序连接session(最主要的)  2 binlog连接session(复制+canal消费)  3 ro ...

  6. 超级简单的Android Studio jni 实现(无需命令行)【转载】

    原文: http://www.jianshu.com/p/e689d0196a17 1.配置Anroid Studio(这步是关键) 使用[command+,] 打开Preferences,选择Ext ...

  7. Shell编程中while与for的区别及用法详解【转】

    在shell编程中经常用到循环,常用的循环有for和while循环两种.while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别. 一.常用 ...

  8. Liunx 网络神器之抓包 --tcpdump

    作者:邓聪聪 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中 ...

  9. python3+selenium入门07-元素等待

    在使用selenium进行操作时,有时候在定位元素时会报错.这可能是因为元素还没有来得及加载导致的.可以等过元素等待,等待元素出现.有强制等待,显式等待,隐式等待. 强制等待 就是之前文章中的time ...

  10. shell中的dd命令使用详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...