修复上次全局替换,导致发送右键参数attachments被替换成files的问题;以及给yagmail_bot.py增加更友好的错误提示

This commit is contained in:
floraachy
2023-12-11 11:07:18 +08:00
parent 6b6f36b5c4
commit 4d11d91544
3 changed files with 20 additions and 14 deletions

View File

@@ -9,7 +9,7 @@
# ------------------------------------ 测试数据配置 ----------------------------------------------------#
ENV_VARS = {
"common": {
"报告标题": "UI自动化测试报告",
"报告标题": "API 自动化测试报告",
"项目名称": "GitLink 确实开源",
"tester": "陈银花",
"department": "开源中心",
@@ -86,8 +86,11 @@ class RunConfig:
# ------------------------------------ 配置信息 ----------------------------------------------------#
# 0代表执行Excel和yaml两种格式的用例 1 代表 yaml文件2 用例代表Excel用例 其他数值将不自动生成用例,仅能执行手动编写的用例
CASE_FILE_TYPE = 1
# 0表示默认不发送任何通知 1 代表钉钉通知2 代表企业微信通知, 3 代表邮件通知, 4 代表所有途径都发送通知
SEND_RESULT_TYPE = 0
SEND_RESULT_TYPE = 3
# 指定日志收集级别
LOG_LEVEL = "DEBUG" # 可选值TRACE DEBUG INFO SUCCESS WARNING ERROR CRITICAL

View File

@@ -4,10 +4,12 @@
# @File : yagmail_bot.py
# @Software: PyCharm
# @Desc: 通过第三方模块yagmail发送邮件
from loguru import logger
import yagmail
# 标准库导入
import os
# 第三方库导入
from loguru import logger
import yagmail
class YagEmailServe:
@@ -27,12 +29,12 @@ class YagEmailServe:
"subject": "",
"contents": "",
"to": "",
"attachments": ""
"files": ""
}
:return:
"""
try:
logger.debug("\n======================================================\n" \
logger.info("\n======================================================\n" \
"-------------Start发送邮件--------------------\n"
f"用户名: {self.user}\n" \
f"密码: {self.password}\n" \
@@ -44,23 +46,24 @@ class YagEmailServe:
password=self.password,
host=self.host)
# 如果存在附件,则与邮件内容一起发送附件,否则仅发送邮件内容
if os.path.exists(info['attachments']):
if info.get("attachments") and os.path.exists(info['attachments']):
yag.send(
to=info['to'],
subject=info['subject'],
contents=info['contents'],
attachments=info['attachments'])
else:
logger.warning(f"\n请检查邮件内容info是否存在附件info中应该存在键值attachments\n"
f"请检查附件地址是否正确 --> info['attachments'] 应该是一个有效的路径\n"
f"当前仅发送邮件内容,不发送附件~")
yag.send(
to=info['to'],
subject=info['subject'],
contents=info['contents'])
yag.close()
logger.debug("\n======================================================\n" \
"-------------End发送邮件--------------------\n"
"发送邮件成功\n" \
"=====================================================")
print("发送邮件成功")
logger.info("\n======================================================\n" \
"-------------End发送邮件--------------------\n"
"发送邮件成功\n" \
"=====================================================")
except Exception as e:
logger.error(f"发送邮件失败,错误信息: {e}")
print(f"发送邮件失败,错误信息: {e}")

View File

@@ -80,7 +80,7 @@ def send_result(report_info: dict, report_path: str, attachment_path: str = None
"""
# 默认不发送任何通知
if SEND_RESULT_TYPE == NotificationType.DEFAULT.value:
logger.info(f"SEND_RESULT_TYPE={SEND_RESULT_TYPE} 配置了不发送任何邮件")
logger.debug(f"SEND_RESULT_TYPE={SEND_RESULT_TYPE} 配置了不发送任何邮件")
return
results = get_test_results_from_from_allure_report(report_path)