PyTest 使用 Email 发送 HTML 格式的测试报告

本文介绍了如何利用PyTest测试框架结合Python内置的email库,生成并发送包含HTML内容的测试报告邮件,帮助开发者高效地分享和审查测试结果。
import smtplib  
from email.mime.text import MIMEText  
from email.header import Header  


sender = 'XXX@163.com'  
receiver = 'XXX@qq.com'  
smtpserver = 'smtp.163.com'  
username = 'XXX'  
password = 'XXX'  


# 邮件主题  
mail_title = '主题:测试报告3'  


# 读取html文件内容  
f = open('report_test.html', 'rb')  
mail_body = f.read()  
f.close()  


# 邮件内容, 格式, 编码  
message = MIMEText(mail_body, '
您可以使用pytest插件pytest-html来生成测试报告,并通过邮件或其他方式将测试结果发送给相关人员。 首先,您需要安装pytest-html插件。您可以使用以下命令进行安装: ``` pip install pytest-html ``` 安装完成后,在运行pytest测试时,添加`--html`选项,指定生成测试结果报告的文件名和路径。例如: ``` pytest --html=report.html ``` 这将生成一个名为`report.html`的测试结果报告。 如果您想将测试结果发送给相关人员,您可以使用Python的smtplib模块来发送邮件。以下是一个简单的示例,展示如何使用smtplib发送包含测试结果报告的邮件: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication # 邮件发送者和接收者的信息 sender_email = "your_email_address" receiver_email = "recipient_email_address" password = "your_email_password" # 构造邮件 msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = "Test results" body = "Please find attached the test results." msg.attach(MIMEText(body, 'plain')) with open("report.html", "rb") as f: attach = MIMEApplication(f.read(),_subtype="html") attach.add_header('Content-Disposition','attachment',filename=str("report.html")) msg.attach(attach) # 发送邮件 server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(sender_email, password) text = msg.as_string() server.sendmail(sender_email, receiver_email, text) server.quit() ``` 请注意,您需要在代码中替换`sender_email`,`receiver_email`和`password`为您自己的信息。此外,您还需要在您的电子邮件提供程序中启用SMTP访问权限,以便通过Python代码发送电子邮件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值