From 4d11d915446ed45fef6a70200859a25f10bcd181 Mon Sep 17 00:00:00 2001 From: floraachy <1622042529@qq.com> Date: Mon, 11 Dec 2023 11:07:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E6=AC=A1=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E6=9B=BF=E6=8D=A2=EF=BC=8C=E5=AF=BC=E8=87=B4=E5=8F=91?= =?UTF-8?q?=E9=80=81=E5=8F=B3=E9=94=AE=E5=8F=82=E6=95=B0attachments?= =?UTF-8?q?=E8=A2=AB=E6=9B=BF=E6=8D=A2=E6=88=90files=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B=E4=BB=A5=E5=8F=8A=E7=BB=99yagmail=5Fbot.py?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9B=B4=E5=8F=8B=E5=A5=BD=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/settings.py | 7 +++++-- utils/notify_utils/yagmail_bot.py | 25 +++++++++++++----------- utils/report_utils/send_result_handle.py | 2 +- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/config/settings.py b/config/settings.py index 7a4a7db..4d0dc7c 100644 --- a/config/settings.py +++ b/config/settings.py @@ -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 diff --git a/utils/notify_utils/yagmail_bot.py b/utils/notify_utils/yagmail_bot.py index 2b0be8f..db6c396 100644 --- a/utils/notify_utils/yagmail_bot.py +++ b/utils/notify_utils/yagmail_bot.py @@ -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}") diff --git a/utils/report_utils/send_result_handle.py b/utils/report_utils/send_result_handle.py index 3dace3c..fb2d6e7 100644 --- a/utils/report_utils/send_result_handle.py +++ b/utils/report_utils/send_result_handle.py @@ -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)