Update settings.py

This commit is contained in:
floraachy 2025-06-24 16:07:05 +08:00
parent e2cfc85170
commit b2b6b80b7d
1 changed files with 207 additions and 207 deletions

View File

@ -1,207 +1,207 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# @Version: Python 3.9 # @Version: Python 3.9
# @Time : 2023/1/9 17:08 # @Time : 2023/1/9 17:08
# @Author : chenyinhua # @Author : chen3333yinhua
# @File : settings.py # @File : settings.py
# @Software: PyCharm # @Software: PyCharm
# @Desc: 项目配置文件 # @Desc: 项目配置文件
import os import os
# 定义一个全局变量,用于存储运行过程中相关数据 # 定义一个全局变量,用于存储运行过程中相关数据
GLOBAL_VARS = {} GLOBAL_VARS = {}
# 定义一个变量。存储自定义的标记markers # 定义一个变量。存储自定义的标记markers
CUSTOM_MARKERS = [] CUSTOM_MARKERS = []
REPORT = { REPORT = {
"报告标题": "API 自动化测试报告", "报告标题": "API 自动化测试报告",
"项目名称": "GitLink 确实开源", "项目名称": "GitLink 确实开源",
"tester": "陈银花", "tester": "陈银花",
"department": "开源中心", "department": "开源中心",
"env": "" "env": ""
} }
# ------------------------------------ pytest相关配置 ----------------------------------------------------# # ------------------------------------ pytest相关配置 ----------------------------------------------------#
# 失败重跑次数 # 失败重跑次数
RERUN = 0 RERUN = 0
# 失败重跑间隔时间 # 失败重跑间隔时间
RERUN_DELAY = 5 RERUN_DELAY = 5
# 当达到最大失败数,停止执行 # 当达到最大失败数,停止执行
MAX_FAIL = "100" MAX_FAIL = "100"
# ------------------------------------ 配置信息 ----------------------------------------------------# # ------------------------------------ 配置信息 ----------------------------------------------------#
# 1 代表 yaml文件其他数值将不自动生成用例仅能执行手动编写的用例 # 1 代表 yaml文件其他数值将不自动生成用例仅能执行手动编写的用例
CASE_FILE_TYPE = 1 CASE_FILE_TYPE = 1
# 0表示默认不发送任何通知 1 代表钉钉通知2 代表企业微信通知, 3 代表邮件通知, 4 代表所有途径都发送通知 # 0表示默认不发送任何通知 1 代表钉钉通知2 代表企业微信通知, 3 代表邮件通知, 4 代表所有途径都发送通知
SEND_RESULT_TYPE = 0 SEND_RESULT_TYPE = 0
# 指定日志收集级别 # 指定日志收集级别
LOG_LEVEL = "DEBUG" # 可选值TRACE DEBUG INFO SUCCESS WARNING ERROR CRITICAL LOG_LEVEL = "DEBUG" # 可选值TRACE DEBUG INFO SUCCESS WARNING ERROR CRITICAL
""" """
支持的日志级别 支持的日志级别
TRACE: 最低级别的日志级别用于详细追踪程序的执行 TRACE: 最低级别的日志级别用于详细追踪程序的执行
DEBUG: 用于调试和开发过程中打印详细的调试信息 DEBUG: 用于调试和开发过程中打印详细的调试信息
INFO: 提供程序执行过程中的关键信息 INFO: 提供程序执行过程中的关键信息
SUCCESS: 用于标记成功或重要的里程碑事件 SUCCESS: 用于标记成功或重要的里程碑事件
WARNING: 表示潜在的问题或不符合预期的情况但不会导致程序失败 WARNING: 表示潜在的问题或不符合预期的情况但不会导致程序失败
ERROR: 表示错误和异常情况但程序仍然可以继续运行 ERROR: 表示错误和异常情况但程序仍然可以继续运行
CRITICAL: 表示严重的错误和异常情况可能导致程序崩溃或无法正常运行 CRITICAL: 表示严重的错误和异常情况可能导致程序崩溃或无法正常运行
""" """
# ------------------------------------ 邮件配置信息 ----------------------------------------------------# # ------------------------------------ 邮件配置信息 ----------------------------------------------------#
# 发送邮件的相关配置信息 # 发送邮件的相关配置信息
email = { email = {
"user": "****email-user****", # 发件人邮箱 "user": "****email-user****", # 发件人邮箱
"password": "****email-password****", # 发件人邮箱授权码 "password": "****email-password****", # 发件人邮箱授权码
"host": "smtp.qq.com", "host": "smtp.qq.com",
"to": ["****email-user-1****", "****email-user-2****"] # 收件人邮箱 "to": ["****email-user-1****", "****email-user-2****"] # 收件人邮箱
} }
# ------------------------------------ 邮件通知内容 ----------------------------------------------------# # ------------------------------------ 邮件通知内容 ----------------------------------------------------#
email_subject = f"UI自动化报告" email_subject = f"UI自动化报告"
email_content = """ email_content = """
各位同事, 大家好: 各位同事, 大家好:
自动化用例于 <strong>${start_time} </strong> 开始运行运行时长<strong>${run_time} s</strong> 目前已执行完成 自动化用例于 <strong>${start_time} </strong> 开始运行运行时长<strong>${run_time} s</strong> 目前已执行完成
--------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------
测试人<strong> ${tester} </strong> 测试人<strong> ${tester} </strong>
所属部门<strong> ${department} </strong> 所属部门<strong> ${department} </strong>
项目环境<strong> ${env} </strong> 项目环境<strong> ${env} </strong>
--------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------
执行结果如下: 执行结果如下:
&nbsp;&nbsp;用例运行总数:<strong> ${total} </strong> &nbsp;&nbsp;用例运行总数:<strong> ${total} </strong>
&nbsp;&nbsp;通过用例个数passed: <strong><font color="green" >${passed} </font></strong> &nbsp;&nbsp;通过用例个数passed: <strong><font color="green" >${passed} </font></strong>
&nbsp;&nbsp;失败用例个数failed: <strong><font color="red" >${failed} </font></strong> &nbsp;&nbsp;失败用例个数failed: <strong><font color="red" >${failed} </font></strong>
&nbsp;&nbsp;异常用例个数error: <strong><font color="orange" >${broken} </font></strong> &nbsp;&nbsp;异常用例个数error: <strong><font color="orange" >${broken} </font></strong>
&nbsp;&nbsp;跳过用例个数skipped: <strong><font color="grey" >${skipped} </font></strong> &nbsp;&nbsp;跳过用例个数skipped: <strong><font color="grey" >${skipped} </font></strong>
&nbsp;&nbsp;失败重试用例个数 * 次数之和rerun: <strong>${rerun} </strong> &nbsp;&nbsp;失败重试用例个数 * 次数之和rerun: <strong>${rerun} </strong>
&nbsp;&nbsp; :<strong> <font color="green" >${pass_rate} %</font></strong> &nbsp;&nbsp; :<strong> <font color="green" >${pass_rate} %</font></strong>
********************************** **********************************
附件为具体的测试报告详细情况可下载附件查看 非相关负责人员可忽略此消息谢谢 附件为具体的测试报告详细情况可下载附件查看 非相关负责人员可忽略此消息谢谢
""" """
# ------------------------------------ 钉钉相关配置 ----------------------------------------------------# # ------------------------------------ 钉钉相关配置 ----------------------------------------------------#
ding_talk = { ding_talk = {
"webhook_url": "https://oapi.dingtalk.com/robot/send?access_token=********", "webhook_url": "https://oapi.dingtalk.com/robot/send?access_token=********",
"secret": "****ding****" "secret": "****ding****"
} }
# ------------------------------------ 钉钉通知内容 ----------------------------------------------------# # ------------------------------------ 钉钉通知内容 ----------------------------------------------------#
ding_talk_title = f"UI自动化报告" ding_talk_title = f"UI自动化报告"
ding_talk_content = """ ding_talk_content = """
各位同事, 大家好: 各位同事, 大家好:
### 自动化用例于 ${start_time} 开始运行,运行时长:${run_time} s 目前已执行完成。 ### 自动化用例于 ${start_time} 开始运行,运行时长:${run_time} s 目前已执行完成。
--------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------
#### 测试人: ${tester} #### 测试人: ${tester}
#### 所属部门: ${department} #### 所属部门: ${department}
#### 项目环境: ${env} #### 项目环境: ${env}
--------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------
#### 执行结果如下: #### 执行结果如下:
- 用例运行总数: ${total} - 用例运行总数: ${total}
- 通过用例个数passed: ${passed} - 通过用例个数passed: ${passed}
- 失败用例个数failed: ${failed} - 失败用例个数failed: ${failed}
- 异常用例个数error: ${broken} - 异常用例个数error: ${broken}
- 跳过用例个数skipped: ${skipped} - 跳过用例个数skipped: ${skipped}
- 失败重试用例个数 * 次数之和rerun: ${rerun} - 失败重试用例个数 * 次数之和rerun: ${rerun}
- : ${pass_rate} % - : ${pass_rate} %
********************************** **********************************
附件为具体的测试报告详细情况可下载附件查看 非相关负责人员可忽略此消息谢谢 附件为具体的测试报告详细情况可下载附件查看 非相关负责人员可忽略此消息谢谢
""" """
# ------------------------------------ 企业微信相关配置 ----------------------------------------------------# # ------------------------------------ 企业微信相关配置 ----------------------------------------------------#
wechat = { wechat = {
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=********", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=********",
} }
# ------------------------------------ 企业微信通知内容 ----------------------------------------------------# # ------------------------------------ 企业微信通知内容 ----------------------------------------------------#
wechat_content = """ wechat_content = """
各位同事, 大家好: 各位同事, 大家好:
### 自动化用例于 ${start_time} 开始运行,运行时长:${run_time} s 目前已执行完成。 ### 自动化用例于 ${start_time} 开始运行,运行时长:${run_time} s 目前已执行完成。
-------------------------------- --------------------------------
#### 测试人: ${tester} #### 测试人: ${tester}
#### 所属部门: ${department} #### 所属部门: ${department}
#### 项目环境: ${env} #### 项目环境: ${env}
-------------------------------- --------------------------------
#### 执行结果如下: #### 执行结果如下:
- 用例运行总数: ${total} - 用例运行总数: ${total}
- 通过用例个数passed:<font color=\"info\"> ${passed} 个</font> - 通过用例个数passed:<font color=\"info\"> ${passed} 个</font>
- 失败用例个数failed: <font color=\"warning\"> ${failed} 个</font> - 失败用例个数failed: <font color=\"warning\"> ${failed} 个</font>
- 异常用例个数error: <font color=\"warning\"> ${broken} 个</font> - 异常用例个数error: <font color=\"warning\"> ${broken} 个</font>
- 跳过用例个数skipped: <font color=\"comment\"> ${skipped} 个</font> - 跳过用例个数skipped: <font color=\"comment\"> ${skipped} 个</font>
- 失败重试用例个数 * 次数之和rerun: <font color=\"comment\"> ${rerun} 个</font> - 失败重试用例个数 * 次数之和rerun: <font color=\"comment\"> ${rerun} 个</font>
- : <font color=\"info\"> ${pass_rate} % </font> - : <font color=\"info\"> ${pass_rate} % </font>
********************************** **********************************
附件为具体的测试报告详细情况可下载附件查看 非相关负责人员可忽略此消息谢谢 附件为具体的测试报告详细情况可下载附件查看 非相关负责人员可忽略此消息谢谢
""" """
# ------------------------------------ 项目路径 ----------------------------------------------------# # ------------------------------------ 项目路径 ----------------------------------------------------#
# 项目根目录 # 项目根目录
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) BASE_DIR = os.path.dirname(os.path.abspath(__file__))
# 通用模块目录 # 通用模块目录
UTILS_DIR = os.path.join(BASE_DIR, "utils") UTILS_DIR = os.path.join(BASE_DIR, "utils")
# 配置文件目录 # 配置文件目录
ENV_DIR = os.path.join(BASE_DIR, "env") ENV_DIR = os.path.join(BASE_DIR, "env")
# 接口数据模块目录 # 接口数据模块目录
INTERFACE_DIR = os.path.join(BASE_DIR, "interface") INTERFACE_DIR = os.path.join(BASE_DIR, "interface")
# gitlink测试数据模块目录 # gitlink测试数据模块目录
GITLINK_DIR = os.path.join(INTERFACE_DIR, "gitlink") GITLINK_DIR = os.path.join(INTERFACE_DIR, "gitlink")
# osredm测试数据模块目录 # osredm测试数据模块目录
OSREDM_DIR = os.path.join(INTERFACE_DIR, "osredm") OSREDM_DIR = os.path.join(INTERFACE_DIR, "osredm")
# pms测试数据模块目录 # pms测试数据模块目录
PMS_DIR = os.path.join(INTERFACE_DIR, "pms") PMS_DIR = os.path.join(INTERFACE_DIR, "pms")
# glcc测试数据模块目录 # glcc测试数据模块目录
GLCC_DIR = os.path.join(INTERFACE_DIR, "glcc") GLCC_DIR = os.path.join(INTERFACE_DIR, "glcc")
# 测试文件模块目录 # 测试文件模块目录
FILES_DIR = os.path.join(BASE_DIR, "files") FILES_DIR = os.path.join(BASE_DIR, "files")
# 第三方库目录 # 第三方库目录
LIB_DIR = os.path.join(BASE_DIR, "lib") LIB_DIR = os.path.join(BASE_DIR, "lib")
# 日志/报告保存目录 # 日志/报告保存目录
OUT_DIR = os.path.join(BASE_DIR, "outputs") OUT_DIR = os.path.join(BASE_DIR, "outputs")
if not os.path.exists(OUT_DIR): if not os.path.exists(OUT_DIR):
os.mkdir(OUT_DIR) os.mkdir(OUT_DIR)
# 报告保存目录 # 报告保存目录
REPORT_DIR = os.path.join(OUT_DIR, "report") REPORT_DIR = os.path.join(OUT_DIR, "report")
if not os.path.exists(REPORT_DIR): if not os.path.exists(REPORT_DIR):
os.mkdir(REPORT_DIR) os.mkdir(REPORT_DIR)
# 报日志保存目录 # 报日志保存目录
LOG_DIR = os.path.join(OUT_DIR, "log") LOG_DIR = os.path.join(OUT_DIR, "log")
if not os.path.exists(LOG_DIR): if not os.path.exists(LOG_DIR):
os.mkdir(LOG_DIR) os.mkdir(LOG_DIR)
# 测试用例模块 # 测试用例模块
CASE_DIR = os.path.join(BASE_DIR, "test_case") CASE_DIR = os.path.join(BASE_DIR, "test_case")
# 手动生成测试用例模块 # 手动生成测试用例模块
MANUAL_CASE_DIR = os.path.join(CASE_DIR, "test_manual_case") MANUAL_CASE_DIR = os.path.join(CASE_DIR, "test_manual_case")
if not os.path.exists(MANUAL_CASE_DIR): if not os.path.exists(MANUAL_CASE_DIR):
os.mkdir(MANUAL_CASE_DIR) os.mkdir(MANUAL_CASE_DIR)
# 自动生成测试用例模块 # 自动生成测试用例模块
AUTO_CASE_DIR = os.path.join(CASE_DIR, "test_auto_case") AUTO_CASE_DIR = os.path.join(CASE_DIR, "test_auto_case")
# Allure报告测试结果集目录 # Allure报告测试结果集目录
ALLURE_RESULTS_DIR = os.path.join(REPORT_DIR, "allure_results") ALLURE_RESULTS_DIR = os.path.join(REPORT_DIR, "allure_results")
# Allure报告HTML测试报告目录 # Allure报告HTML测试报告目录
ALLURE_HTML_DIR = os.path.join(REPORT_DIR, "allure_html") ALLURE_HTML_DIR = os.path.join(REPORT_DIR, "allure_html")
# Allure报告配置文件目录 # Allure报告配置文件目录
ALLURE_CONFIG_DIR = os.path.join(LIB_DIR, "allure_config") ALLURE_CONFIG_DIR = os.path.join(LIB_DIR, "allure_config")