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