以邮件附件的形式发送测试报告

1. 创建 EmailAnnex目录, 在 EmailAnnex 下创建 bing.py,并编写

from selenium import webdriver
from time import sleep
import unittest
class Bing(unittest.TestCase):
   """bing 搜索测试"""
 def setUp(self):
   self.driver = webdriver.Firefox()
   self.driver.implicitly_wait(10)
   self.base_url = "http://cn.bing.com/"
 def test_bing_search(self):
   driver = self.driver
   driver.get(self.base_url)
   driver.find_element_by_xpath("//input[@id=‘sb_form_q‘]").send_keys("CMBC")
   sleep(3)
   driver.find_element_by_xpath("//input[@id=‘sb_form_go‘]").click()
 def tearDown(self):
 self.driver.quit()

2.在 EmailAnnex 创建 send_mail.py 并编写

from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
import smtplib
import unittest
import time
import os
# ===================发送邮件=============================
def sendReport(file_path):
   """发送带附件的邮件"""
   sendfile = open(file_path,"rb").read() #读取测试报告路径
   # 如下几行是为了以附件的形式,发送邮件
   msg = MIMEText(sendfile,"base64","utf-8")
   msg["Content-Type"] = "application/octet-stream"
   msg["content-Disposition"] = "attachment;filename=result.html"
  #result.html 邮件附件的名字
   msgRoot = MIMEMultipart("related")
   msgRoot.attach(msg)
   msg[‘Subject‘] = Header("自动化测试报告","utf-8")
   msg[‘From‘] = "[email protected]" #发送地址
   msg[‘To‘] = "[email protected]" #收件人地址,如果是多个的话,以分号隔开
   smtp = smtplib.SMTP(‘smtp.126.com‘)
   smtp.login("[email protected]","Abcd123") #邮箱的账户和密码
   smtp.sendmail(msg[‘From‘],msg[‘To‘].split(‘;‘),msg.as_string())
   smtp.quit()
   print("Test Result has send out!!!")
# =================查找测试报告目录,找到最新的测试报告文件========
def newReport(testReport):
   lists = os.listdir(testReport) #返回测试报告所在的目录下所有文件夹
   lists2 = sorted(lists) # 获得升序排列后端测试报告列表
   file_new = os.path.join(testReport,lists2[-1]) #获得最新一条测试报告的地址
   print(file_new)
   return file_new
# ==================运行===================================
if __name__ == ‘__main__‘:
   test_dir = "D:\\python\\autotest\\EmailAnnex" #测试用例所在的目录
   test_report = "D:\\python\\autotest\\EmailAnnex\\result" #测试报告所在目录
   discover =unittest.defaultTestLoader.discover(test_dir,pattern="bing.py")
   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 = newReport(test_report) #获取最新的测试报告
   print(new_report)
   sendReport(new_report) #发送测试报告邮件

  

原文地址:https://www.cnblogs.com/yangyang521/p/10077099.html

时间: 2024-10-03 10:11:28

以邮件附件的形式发送测试报告的相关文章

已附件的形式发送测试报告

上一篇中提到了已邮件形式发送报告,但是发送的报告不能查看具体的内容,如果想看到具体的内容,需要已附件的形式发送报告 测试用例Demo不用修改,只需要修改发送邮件的代码,具体的就是引入了MIMEMultipart类,邮件中的内容是分段存储的,附件是related类型. 代码如下: from HTMLTestRunner import HTMLTestRunner from email.mime.text import MIMEText from email.header import Header

以邮件的形式发送测试报告

1.创建一个Email 目录(文件夹),在 Email 中创建 bing.py测试用例 from selenium import webdriver from time import sleep import unittest # driver.find_element_by_xpath("//input[@id='sb_form_q']").send_keys("CMBC") # driver.find_element_by_xpath("//input

ant+jmeter+jenkins 发送测试报告邮件

二.部署配置 2.1 jmeter 2.1.1 jar包二次开发: 将jmeter目录D:\apache-jmeter-5.0\extras中的ant-jmeter-1.1.1.jar包进行反编译.添加2个测试类 MailTask和JavaMail.具体代码参考文件中的java文件.然后进行编译生成新的jar包ant-jmeter-1.1.2-SNAPSHOT.jar. 2.1.2 添加build文件和测试文件 在jmeter目录D:\apache-jmeter-5.0\test下新增文件bui

ADManager Plus: 如何修改Exchange发送的邮件附件大小

ADManager Plus: 如何修改Exchange发送的邮件附件大小项目工期紧!时间宝贵!今天就要提交和完成报告审核!然而,项目的负责人试着发送邮件却受到邮件发送失败的消息,只是因为附件太大.不仅仅像这位负责人这样,项目组的其他成员也需要发送比这位负责人发送的附件更大的文件.因此,只好向IT发出紧急求救电话.如果您是IT管理员将会做些什么呢?这个项目50个人参与,现在也没有时间去考虑一个脚本或者下载一个免费软件来帮您完成这项任务.另外,您更没有时间手动更改50个用户的邮件附件大小.使用AD

python3 邮件方式发送测试报告

以邮件方式发送测试报告 import smtplib from email.mime.text import MIMEText class SendEmail: """邮件方式发送报告""" global send_user global email_host global password send_user = "[email protected]" email_host = "smtp.163.com"

Jenkins配置邮件发送测试报告给指定的人

一.Jenkins部署配置之后,提示报错如下图: [解决方法]: nginx配置文件中加上一段配置:(网上找的解决方法,只改了第一条就成功啦) 1. 在反向代理服务器Nginx中设置ignore_invaild_headers 在nginx server配置段中添加如下内容: server { ignore_invalid_headers off; } 2. 在Jenkins全局安全设置中取消勾选“Prevent Cross Site Request Forgery exploits”,如下图:

邮件附件在线预览——HTML Filter

邮件附件在线预览,就是当收到邮件带有附件时,尤其是超大附件,可以不用下载邮件中的附件,通过web页面,以在线的方式读取其中的内容.此功能方便用户直接查看附件,节省下载的时间,同时也在很多时候极大的方便了没有安装相应软件的用户,对于异地登录邮箱用户,更是一项不错的服务. HYF数据格式转换软件HTML Filter便于用户实现对多种文档的统一管理,编辑,检索和浏览,能够完美的实现邮件附件在线预览功能.本产品采用了先进的多语言.多平台.多线程的设计理念,支持多国语言,多种操作系统,提供了多种形式的A

邮件附件在线预览——HYF数据格式转换软件HTML Filter

邮件附件在线预览,就是当收到邮件带有附件时,尤其是超大附件,可以不用下载邮件中的附件,通过web页面,以在线的方式读取其中的内容.此功能方便用户直接查看附件,节省下载的时间,同时也在很多时候极大的方便了没有安装相应软件的用户,对于异地登录邮箱用户,更是一项不错的服务. HTML Filter V1是由北京红樱枫软件有限公司依据HTML Ver 4.01/CSS式样,研制和开发的MS Office系列文档到HTML转换的通用程序库.便于用户实现对多种文档的统一管理,编辑,检索和浏览,能够完美的实现

Flask入门邮件同步与异步发送(九)

? 应用场景: 用户在注册或者密码丢失等过程中,账号绑定邮箱,用户在进行身份认证的过程中,电子邮箱确实是一种很常用的方式,Python中提供了smtplib可以实现发送电子邮件功能,Flask框架也有对应的flask-email库,扩展对电子发送的支持 安装 pip3 install flask-mail 导入及初始化 from flask_mail import Mail mail=Mail(app) Flask-mail可以连接SMTP服务器,并把邮件利用这个服务器发送出去. Flask-m