openTT/settings.py

208 lines
8.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- 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 = """
各位同事, 大家好:
自动化用例于 <strong>${start_time} </strong> 开始运行,运行时长:<strong>${run_time} s</strong> 目前已执行完成。
---------------------------------------------------------------------------------------------------------------
测试人:<strong> ${tester} </strong>
所属部门:<strong> ${department} </strong>
项目环境:<strong> ${env} </strong>
---------------------------------------------------------------------------------------------------------------
执行结果如下:
&nbsp;&nbsp;用例运行总数:<strong> ${total} 个</strong>
&nbsp;&nbsp;通过用例个数passed: <strong><font color="green" >${passed} 个</font></strong>
&nbsp;&nbsp;失败用例个数failed: <strong><font color="red" >${failed} 个</font></strong>
&nbsp;&nbsp;异常用例个数error: <strong><font color="orange" >${broken} 个</font></strong>
&nbsp;&nbsp;跳过用例个数skipped: <strong><font color="grey" >${skipped} 个</font></strong>
&nbsp;&nbsp;失败重试用例个数 * 次数之和rerun: <strong>${rerun} 个</strong>
&nbsp;&nbsp;成 功 率:<strong> <font color="green" >${pass_rate} %</font></strong>
**********************************
附件为具体的测试报告,详细情况可下载附件查看, 非相关负责人员可忽略此消息。谢谢。
"""
# ------------------------------------ 钉钉相关配置 ----------------------------------------------------#
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:<font color=\"info\"> ${passed} 个</font>
- 失败用例个数failed: <font color=\"warning\"> ${failed} 个</font>
- 异常用例个数error: <font color=\"warning\"> ${broken} 个</font>
- 跳过用例个数skipped: <font color=\"comment\"> ${skipped} 个</font>
- 失败重试用例个数 * 次数之和rerun: <font color=\"comment\"> ${rerun} 个</font>
- 成 功 率: <font color=\"info\"> ${pass_rate} % </font>
**********************************
附件为具体的测试报告,详细情况可下载附件查看, 非相关负责人员可忽略此消息。谢谢。
"""
# ------------------------------------ 项目路径 ----------------------------------------------------#
# 项目根目录
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")