c7-自动化接口测试之发送邮件

自动化用例执行完后需要发送邮件通知接口执行情况。
在编写发送邮件功能时遇到两个问题,我们先看代码:

#coding:utf-8
import smtplib
from email.mime.text import MIMEText
class SendEmail:
	#定义全局变量存放发件人地址
	global send_user
	#定义全局变量存放邮件服务器
	global email_host
	#定义全局变量存放登陆密码
	global password
	email_host = "smtp.163.com"
	send_user = "xxx" #这里省略,赋值为发件人地址
	password = "xxx" #这里省略,赋值为登陆密码

	#发送邮件方法
	def send_mail(self,user_list,sub,content):
		user = "Mushishi"+"<"+send_user+">"
		message = MIMEText(content,_subtype='plain',_charset='utf-8')
		message['Subject'] = sub
		message['From'] = user
		message['To'] = ";".join(user_list)
		server = smtplib.SMTP()
		server.connect(email_host)
		server.login(send_user,password)
		server.sendmail(user,user_list,message.as_string())
		server.close()

	#定义发送内容,调用发送邮件方法
	def send_main(self,pass_list,fail_list):
		pass_num = float(len(pass_list))
		fail_num = float(len(fail_list))
		count_num = pass_num+fail_num
		#90%
		pass_result = "%.2f%%" %(pass_num/count_num*100)
		fail_result = "%.2f%%" %(fail_num/count_num*100)


		user_list = ['609037724@qq.com']
		sub = "接口自动化测试报告"
		content = "此次一共运行接口个数为%s个,通过个数为%s个,失败个数为%s,通过率为%s,失败率为%s" %(count_num,pass_num,fail_num,pass_result,fail_result )
		self.send_mail(user_list,sub,content)

if __name__ == '__main__':
	sen = SendEmail()
	sen.send_main([1,2,3,4],[2,3,4,5,6,7])

这里有两个问题:
1、password第一次赋值为我的登陆密码,执行报错:
在这里插入图片描述
百度后说要开启163邮箱的SMTP授权,获得一个授权密码。
操作参考https://jingyan.baidu.com/article/c275f6ba33a95de33d7567d9.html
将password更新成授权密码后执行成功。

2、报告内容
在这里插入图片描述
按照上面的内容,接口个数都是带小数位的,觉得不太规范,看了下代码,
pass_num = float(len(pass_list))
fail_num = float(len(fail_list))
这里都转成了float类型。我改成了int类型后,报告如下:
在这里插入图片描述
通过率和失败率又获取不到了,于是把上面代码修改为如下:

    def send_main(self,pass_list,fail_list):
        pass_num = len(pass_list)
        fail_num = len(fail_list)
        count_num = pass_num+fail_num

        pass_rate = "%.2f%%" %(float(pass_num)/count_num*100)
        fail_rate = '%.2f%%' %(float(fail_num)/count_num*100)

        user_list=['245893097@qq.com']
        sub = '接口自动化测试报告'
        content = "此次一共运行接口个数为%s个,通过个数为%s个,失败个数为%s个,通过率为%s,失败率为%s" %(count_num,pass_num,fail_num,pass_rate,fail_rate)

        self.send_email(user_list,sub,content)

报告如下,搞定!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值