Python+Selenium 自动化测试获取测试报告内容并发送邮件
这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将报告内容通过邮件发送到接收人
SMTP:Simple Mail Transfer Protocol,简单邮件传输协议
# coding: utf-8 import smtplib # 导入smtplib模块
from email.mime.text import MIMEText
from email.header import Header
from .logger import * def send_email(test_report): with open(test_report, 'r', encoding='utf-8') as f:
mail_body = f.read() # 打开测试报告,读取报告内容作为邮件内容
sender = '*********@***.com' # 发出邮箱
receiver = ['******@***.com', '*******@**.com'] # 接收邮箱
mail_server = 'smtp.139.com' # 邮箱服务地址,这里以139邮箱为例
subject = '自动化测试报告' # 邮件标题
username = '#########' # 邮箱登录名
passwd = '########' # 密码
message = MIMEText(mail_body, 'html', 'utf-8') # 设置邮件格式
message['Subject'] = Header(subject, charset='utf-8')
# 邮箱登录
smtp = smtplib.SMTP() # 实例化smtplib.SMTP()类对象
smtp.connect(mail_server) # 连接邮件服务器
smtp.login(username, passwd) # 登录
# 发送邮件
for i in receiver:
smtp.sendmail(sender, i, message.as_string())
Logger().get_log().info( '邮箱:' + i + ',发送邮件成功!\n') # 打印log
smtp.quit()
发送邮件这点,理论上可以直接使用smtp.sendmail(sender, receiver, message.as_string);
实际使用中发现同时发送到多个邮箱时效果不理想,会出现部分邮箱没有发送;
所以这里使用for循环取接收邮箱遍历发送!
用例执行后,调用此方法即可实现邮件发送

# coding: utf-8
# Team : Quality Management Center
# Author:Carson
# Date :2019/6/19 17:26
# Tool :PyCharm from constant.path import *
import HTMLTestRunner
from encapsulation.add_case import *
from encapsulation.send_mail import * # 设置测试报告参数
fp = open(report_path, "wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
title=u'测试报告标题',
description=u'描述信息:',
tester=u'测试人员')
# run所有用例
runner.run(add_test())
fp.close()
time.sleep(1)
print(u'测试报告生成地址:' + report_path)
time.sleep(5)
send_email(report_path)
Python+Selenium 自动化测试获取测试报告内容并发送邮件的更多相关文章
- Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)
Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...
- Python+selenium之获取文本值和下拉框选择数据
Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...
- Python+selenium之读取配置文件内容
Python+selenium之读取配置文件内容 Python支持很多配置文件的读写,此例子中介绍一种配置文件的读取数据,叫ini文件,python中有一个类ConfigParser支持读ini文件. ...
- Python+Selenium自动化-获取页面信息
Python+Selenium自动化-获取页面信息 1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...
- Python+selenium自动化测试中Windows窗口跳转方法
Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 drive ...
- python+selenium 自动化测试实战
一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...
- python + selenium + PhantomJS 获取腾讯应用宝APP评论
PhantomJS PhantomJS 是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM 处理.JavaScr ...
- python selenium 自动化测试web
如何使用python完成自动化测试web页面呢?首选selenium 那基于python的selenium如何使用,下面看一段测试案例: 基于python的selenium 安装方法: pip i ...
- 《一头扎进》系列之Python+Selenium自动化测试框架实战篇6 - 价值好几K的框架,呦!这个框架还真牛叉哦!!!
1. 简介 本文开始介绍如何通过unittest来管理和执行测试用例,这一篇主要是介绍unittest下addTest()方法来加载测试用例到测试套件中去.用addTest()方法来加载我们测试用例到 ...
随机推荐
- mysql07---主从复制
mysql主从复制,replication,(可以一主多从,不可一从多主) 原理: 主从分离,最少2台服务器.主服务器里面的数据,要在从服务器里面都有一份. 把主服务器的所有insert,update ...
- codeforces 688C C. NP-Hard Problem(bfs判断奇数长度环)
题目链接: C. NP-Hard Problem time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- BZOJ2843:极地旅行社(LCT入门题)
不久之前,Mirko建立了一个旅行社,名叫“极地之梦”.这家旅行社在北极附近购买了N座冰岛,并且提供观光服 务.当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间.Mirko的旅 ...
- CodeForces-427D:Match & Catch (后缀自动机)
Police headquarter is monitoring signal on different frequency levels. They have got two suspiciousl ...
- Windows代码heap内存分析实战
知识这东西有时候很奇怪,每次当你重新审视他的时候可能都会有新的收获.最近为了研究一个内存相关的问题,把windows heap相关的内容又复习了一遍,收获不小,记录一下,希望有朋友使用的时候少走些弯路 ...
- js读取ognl表达式的内容
<input type="hidden" id="number" value='<s:property value="resultN ...
- Struts Filter告警:FilterDispatcher <<< is deprecated! Please use the new filters!
在struts2.3.14下,web.xml中使用 <filter> <filter-name>struts2</filter-name> <!-- < ...
- E20180305-hm-xa
raw adj. 生的,未加工的; 无经验的; 新近完成的; 发炎的,疼痛的; payload n. 有效载荷; (航天器.卫星的) 装备; (车辆等的) 装载货物; (炸弹.导弹的) 爆炸力;
- bzoj 1567: [JSOI2008]Blue Mary的战役地图【二分+hash】
二维哈希+二分 说是二维,其实就是先把列hash了,然后再用列的hash值hash行,这样可以O(n)的计算一个正方形的hash值,然后二分边长,枚举左上角点的坐标然后hash判断即可 只要base选 ...
- Luogu P3320 [SDOI2015]寻宝游戏 / 异象石 【LCA/set】
期末考试结束祭! 在期末考试前最后一发的测试中,异象石作为第二道题目出现QAQ.虽然知道是LCA图论,但还是敲不出来QAQ. 花了两天竞赛课的时间搞懂(逃 异象石(stone.pas/c/cpp)题目 ...