在上一篇中的自动化框架中没有放上自动发送测试结果到邮箱的功能,在这篇文章中在补一下,哈哈

1、上一篇的代码就不在一一介绍了,本篇只介绍发送邮件的功能代码

2、在public common 文件夹中创建一个sendmail.py文件, 用来存储发送邮件的代码

from email.mime.text import MIMEText
from email.header import Header
import smtplib
import time
import os
def send_mail(file_new):
f = open(file_new, 'rb')
mail_body = f.read()
f.close()
username = '***' #发件箱用户名 (自己添加邮箱账号)
password = '***' #发件箱密码
sender = '***' #发件人邮箱 (自己添加)
receiver=['***']
#receiver = ['***'] #收件人邮箱
# 邮件正文是MIMEText
msg = MIMEText(mail_body, 'html', 'utf-8')
# 邮件对象
msg['Subject'] = Header("自动化测试报告", 'utf-8').encode()
msg['From'] = Header(u'测试负责人 <%s>'%sender)
msg['To'] = Header(u'技术负责人 <%s>'%sender)
msg['date'] = time.strftime("%a,%d %b %Y %H:%M:%S %z")
#发送邮件
smtp = smtplib.SMTP()
smtp.connect('smtp.exmail.qq.com') # 邮箱服务器 (我这里用的时QQ的邮箱,其他邮箱需要在网上查一下!)
smtp.login(username, password) # 登录邮箱
smtp.sendmail(sender, receiver, msg.as_string()) # 发送者和接收者
smtp.quit()
print("邮件已发出!注意查收。")
#此处为将HTML文件夹中的所有文件返回并取最新的一个HTML文件
def new_file(test_dir):
#列举test_dir目录下的所有文件,结果以列表形式返回。
lists=os.listdir(test_dir)
#print(lists)
file_path=os.path.join(test_dir,lists[-1])
return file_path
以上为发送邮件的代码,会自动查找并发送最新的HTML文件到邮箱中。
3、在代码入口出的调用方法,sendmail文件导入后在运行中传入文件夹的地址

runner.run(suite)
new_report_mail = new_file(r'D:\\event\\result')
log.info(new_report_mail)
send_mail(new_report_mail)
fp.close() 4、我是将文件夹的路径写成了绝对路径,此处可以自己修改下。 5、以上为自动发送邮件的代码与运行入口处代码调用

python3+request接口自动化框架中自动发送邮件的更多相关文章

  1. python3+request接口自动化框架

    首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~ 一.本次框架由python3.6 书写 1.准备代码环境,下载python3.6    下载地址:https:/ ...

  2. python+request接口自动化框架

    python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...

  3. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  4. 接口自动化框架(Pytest+request+Allure)

    前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...

  5. 接口自动化框架2-升级版(Pytest+request+Allure)

    前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...

  6. Python3简易接口自动化测试框架设计与实现(中)

    目录 7.Excel数据读取 7.1.读取配置文件 7.1.编写Excel操作类 8.用例组装 9.用例运行结果校验 10.运行用例 11 .小结 上一篇:Python3简易接口自动化测试框架设计与实 ...

  7. 转载:python + requests实现的接口自动化框架详细教程

    转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...

  8. python + requests实现的接口自动化框架详细教程

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  9. Jmeter+ant+Jenkins接口自动化框架搭建

    摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...

随机推荐

  1. HDU_5734_数学推公式

    题意:给一个向量W={w1,w2……,wn},和一个向量B,B的分量只能为1和-1.求||W-αB||²的最小值. 思路:一来一直在想距离的问题,想怎么改变每一维的值才能使这个向量的长度最小,最后无果 ...

  2. 云计算时代,你为什么一定要学Linux?

    云计算早已不是什么稀奇的概念,它的火爆让Linux运维工程师这个职业越来越重要.在当今各类云平台提供的系统中,Linux系统几乎毫无争议的独占鳌头,市场份额进一步扩张. 这也让Linux运维工程师职位 ...

  3. Idea 创建maven web项目(手工创建)

    参考链接:https://www.cnblogs.com/justuntil/p/7511787.html 话不多说,直接上图: 1.创建maven项目 创建项目完成,项目结构如下: 2.项目部署配置 ...

  4. Quartz.NET 定时任务使用

    class Program { static void Main(string[] args) { StartJob(); Console.ReadKey(); } static void Start ...

  5. R 安装car包失败

    在RStudio里安装car包的时候报错 /usr/bin/ld: cannot find -llapack /usr/bin/ld: cannot find -lblas make: *** [qu ...

  6. PatentTips - Mechanisms for strong atomicity in a transactional memory system

    BACKGROUND Advances in semi-conductor processing and logic design have permitted an increase in the ...

  7. Java多线程之如何确定线程数

    关于多线程的线程数的确定,最近研读过几篇paper,在此做一下笔记,方便使用时翻看. 1.<Java 虚拟机并发编程>中介绍 就是说:线程数 =  CPU的核心数 * (1 - 阻塞系数) ...

  8. 移动端 javascript 计算html font-size

    直接上代码  (function(doc, win) {             var docEl = doc.documentElement,                 resizeEvt ...

  9. 个人博客搭建----基于solo

    个人站地址是:http://www.iwillhaveacatoneday.cn 博客是基于开源的Java 博客系统--solo搭建的,这里记录下部署过程中遇到的一些主要问题 后台 solo后台采的是 ...

  10. N天学习一个linux命令之ps

    ps命令 用途 显示系统进程信息 用法 ps [options] 常用选项 选项有三种风格,这里是指Unix风格 (Unix,BSD,GNU LONG OPTIONS) 简单刷选类 -A, -e 显示 ...