简介:通过使用SMTP协议,pytest测试框架和Allure测试报告工具,可以自动化发送测试报告至指定的邮箱。这不仅可以节省手动上传和发送报告的时间,而且可以在短时间内通知相关人员测试结果。本篇文章将指导您如何配置和使用这些工具,以实现自动发送测试报告至邮箱的目标。
要实现自动发送测试报告至邮箱,您需要完成以下步骤:
pip install pytest allure-pytest
pytest.ini
)中,添加以下内容:这将告诉pytest将Allure报告生成到
[pytest]
addopts = --alluredir=allure-results
allure-results
目录中。请确保替换
[smtp]
host = <SMTP服务器地址>
port = <SMTP服务器端口>
username = <发件人邮箱用户名>
password = <发件人邮箱密码>
from_email = <发件人邮箱地址>
to_email = <收件人邮箱地址>
<SMTP服务器地址>
、<SMTP服务器端口>
、<发件人邮箱用户名>
、<发件人邮箱密码>
、<发件人邮箱地址>
和<收件人邮箱地址>
为您自己的SMTP服务器信息和收件人邮箱地址。smtp_hook.py
),并在其中编写一个自定义的pytest钩子函数,用于发送测试报告。以下是一个示例:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from allure_pytest import AllureRunner, ALLURE_REPORT_PATH
from pytest_smtp.plugin import smtp_default_config, smtp_send_report, pytest_configure, pytest_unconfigure, ALLURE_SMTP_PORT, ALLURE_SMTP_HOST, ALLURE_SMTP_USERNAME, ALLURE_SMTP_PASSWORD, ALLURE_SMTP_FROM_EMAIL, ALLURE_SMTP_TO_EMAIL, ALLURE_SMTP_SUBJECT, ALLURE_SMTP_ATTACHMENT, ALLURE_SMTP_ON_PASS, ALLURE_SMTP_ON_FAIL, ALLURE_SMTP_ON_ERROR, ALLURE_SMTP_ON_STARTED, ALLURE_SMTP_ON_FINISHED, ALLURE_SMTP_ON_UNEXPECTED, ALLURE_SMTP_ON_EXPECTED, ALLURE_SMTP_ON_INTERRUPTED, ALLURE_SMTP_ON_FAILED, ALLURE_SMTP_ON_SKIPPED, ALLURE_SMTP_ON_ERRORS, ALLURE_SMTP_ON_PASSED, ALLURE_SMTP_ON_XFAIL, ALLURE_SMTP_ON_XPASS, ALLURE_SMTP_ON_SESSIONSTARTED, ALLURE_SMTP_ON_SESSIONENDED, ALLURE_SMTP_ON_TESTSTARTED, ALLURE_SMTP_ON_TESTENDED, ALLURE_SMTP_ON