测试报告邮件发送
由于allure报告需要启动服务才看到,如果需要邮件发送,只能在邮件中放入报告服务地址。如果是pytest-hmtl,可以在邮件中直观地看到报告。邮件发送工具send_email.py如下:
import zmail
from common.confinfo import con
def send_report():
"""发送报告"""
print(con.BASE_DIR)
with open(con.REPORT_FILE, encoding='utf-8') as f:
content_html = f.read()
try:
mail = {
'from': '159219@163.com',
'subject': 'xx系统ui自动化测试报告邮件',
'content_html': content_html,
'attachments': [con.REPORT_FILE, ]
}
server = zmail.server(*con.EMAIL_INFO.values()) # EMAIL_INFO是邮件发送方的信息,放在配置文件中,con.EMAIL_INFO.values()是读取配置信息
server.send_mail(con.ADDRESSEE, mail) # con.ADDRESSEE是邮件收件人,放在配置文件中
print("测试邮件发送成功!")
except Exception as e:
print("Error: 无法发送邮件,{}!", format(e))
上面那个邮件样式其实有点丑,如果要优化测试报告格式,所有内容均需要在conftest.py中配置。优化后效果:邮件模板信息更细节、执行用例失败自动截图、自动发送邮件
/usr/bin/env python3
# -*- coding:utf-8 -*-