引言
在做接口测试的时候,我们不仅需要将测试结果以报告的形式展示,还需要将测试结果以邮件的形式发送到需要知道的人手中。那么如何发送邮件呢?
邮件发送方式
测试结果以邮件形式发送的方式有两种:
第一种:手动统计结果数据及报告,用邮件客户端或web版形式发送,比如:用QQ邮箱,foxmail邮箱...
第二种:使用脚本发送,比如:利用python内置对SMTP协议的支持,发送邮件。
介绍一下:
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件;Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件;Smtplib是关于 SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中,起到服务器之间互相通信的作用;Email是用来设置服务器之间通信的信息,包括信息头、信息主体等等;用脚本发邮件时,需要先打开自己邮箱的 SMTP 功能,各家邮箱的设置方法不同,可自行百度;
发邮件流程图剖析:
脚本实现发送邮件
这里我只介绍python脚本发送邮件,具体参考下面代码,关键部分已经注释:
# -*- coding: utf-8 -*- ''' @author: Leo @software: pycharm @file: 111.py @time: 2020/4/26 0026 1:13 @Desc: ''' __author__ = 'Leo' # -*- coding: utf-8 -*- ''' @author: Leo @software: pycharm @file: send_email.py @time: 2020/4/25 0025 22:02 @Desc: ''' __author__ = 'Leo' # 导入发送邮件模块:smtplib import smtplib # 导入构造邮件模块:MIMEText from email.mime.text import MIMEText class SendEmail(object): """ 发送邮件模块 """ def __init__(self): """ 初始化邮件配置服务 """ self.send_user = '###' self.mail_host = 'smtp.163.com' self.password = '###' def send_mail(self,user_lists,subject,content): """ 执行发送邮件 """ user = "发件人名称" + "<" + self.send_user + ">" message = MIMEText(content,_subtype="plain",_charset="utf8") message['Subject'] = subject message['From'] = user message['To'] = ";".join(user_lists) try: server = smtplib.SMTP() server.connect(self.mail_host) server.login(self.send_user,self.password) # as_string将MIMEText对象转成str server.sendmail(user,user_lists,message.as_string()) server.close() print("邮件发送成功".center(60,'=')) except: print("邮件发送失败".center(60,'=')) raise def send_content(self,data): """ 发送邮件内容 """ pass_cases_nums = int(len(data['pass_cases'])) print("用例执行成功数:%s"%pass_cases_nums) fail_cases_nums = int(len(data['fail_cases'])) print("用例执行失败数:%s"%fail_cases_nums) not_execute_nums = int(len(data['not_execute_cases'])) print("用例未执行数:%s" % fail_cases_nums) execute_num = float(pass_cases_nums + fail_cases_nums) total_cases = float(pass_cases_nums + fail_cases_nums + not_execute_nums) pass_ratio = "%.2f%%" % (pass_cases_nums / total_cases * 100) fail_ratio = "%.2f%%" % (fail_cases_nums / total_cases * 100) user_lists = ['###'] subject = "【接口自动化测试用例执行统计】" content = "一共 %f 个用例, 执行了 %f 个用例,未执行 %f 个用例;成功 %f 个,通过率为 %s;失败 %f 个,失败率为 %s" % (total_cases, execute_num, not_execute_nums, pass_cases_nums, pass_ratio, fail_cases_nums, fail_ratio) self.send_mail(user_lists, subject, content) if __name__ == '__main__': sm = SendEmail() sm.send_content({'pass_cases':[1, 3, 5],'fail_cases':[2, 4, 6],'not_execute_cases':[1, 2, 3]})
运行程序:
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Python发送邮件,封装
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 群星.2003-存为爱2CD【环球】【WAV+CUE】
- 韩磊《试音天碟》高清音频[WAV+CUE]
- 邓涛《寂寞蒲公英(黑胶CD)》[WAV]
- 江志丰.2011-爱你的理由【豪记】【WAV+CUE
- 群星《传承-太平洋影音45周年纪念版 (CD2)》[320K/MP3][140.01MB]
- 群星《传承-太平洋影音45周年纪念版 (CD2)》[FLAC/分轨][293.29MB]
- 首首经典《滚石红人堂I 一人一首成名曲 4CD》[WAV+CUE][2.5G]
- s14上单t0梯度怎么排名 s14世界赛上单t0梯度排行榜
- tes目前进了几次s赛 LPL队伍tes参加全球总决赛次数总览
- 英雄联盟巅峰礼赠什么时候开始 2024巅峰礼赠活动时间介绍
- 冯骥发文谈睡觉重要性 网友打趣:求求你先做DLC
- 博主惊叹《少女前线2》万圣节大雷皮肤:这真能过审吗?
- 《生化危机8》夫人比基尼Mod再引骂战:夸张身材有错吗?
- 江蕙.1994-悲情歌声【点将】【WAV+CUE】
- 戴娆.2006-绽放【易柏文化】【WAV+CUE】