SensoroApiAutoTest/common/settings.py

102 lines
5.1 KiB
Python
Raw Permalink 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.

#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time : 2022/7/7 11:45
# @Author : wangjie
# @File : settings.py
# @project : SensoroApiAutoTest
from utils.command_parser import command_parser
from utils.jenkins_handle import ProjectName, BUILD_NUMBER, ALLURE_URL, BUILD_URL
# ------------------------------------ 通用配置 ----------------------------------------------------#
# 获取命令行参数
args = command_parser()
# 设置默认运行环境,如果命令行中有 env 参数并且有效使用命令行的值否则使用默认值支持的环境参考env_config中配置的环境
ENV = (args.env or "test").upper()
# 失败重跑次数
RERUN_COUNT = 2
# 失败重跑间隔时间
RERUN_DELAY_SECONDS = 5
# 当本次测试流程所有失败用例达到最大失败数,停止执行
MAX_FAIL_COUNT = 100
# 设置是否需要发送邮件Ture发送False不发送如果命令行中有 send_email 参数并且有效使用命令行的值否则使用else后的默认值
IS_SEND_EMAIL = args.send_email == 'true' if args.send_email else False
# 设置是否需要发送企业微信消息Ture发送False不发送如果命令行中有 send_wechat 参数并且有效使用命令行的值否则使用else后的默认值
IS_SEND_WECHAT = args.send_wechat == 'true' if args.send_wechat else False
# 设置是否开启debug日志
LOG_DEBUG = False
# 设置是否开启控制台日志
LOG_CONSOLE = True
# ------------------------------------ 邮件配置信息 ----------------------------------------------------#
# 发送邮件配置信息
EMAIL_CONFIG = {
'mail_subject': '接口自动化测试报告', # 邮件标题
'sender_username': 'xxxxx@qq.com', # 发件人邮箱
'sender_password': 'ASDsdasda', # 发件人邮箱授权码
'receiver_mail_list': ['xxxxx@qq.com', ], # 收件人邮箱
'smtp_domain': 'smtp.exmail.qq.com', # 发送邮箱的域名
'smtp_port': 465, # 发送邮箱的端口号
}
# 邮件通知内容
EMAIL_CONTENT = f"""
各位同事, 大家好:<br>
自动化用例于 <strong>${{start_time}}</strong> 开始运行,运行时长:<strong>${{duration}}s</strong>,目前已执行完成。<br>
--------------------------------------------------------------------------------------------------------<br>
项目名称:<strong>{ProjectName}</strong> <br>
构件编号:<strong>#{BUILD_NUMBER}</strong><br>
项目环境:<strong>{ENV}</strong><br>
--------------------------------------------------------------------------------------------------------<br>
执行结果如下:<br>
&nbsp;&nbsp;用例运行总数:<strong> ${{total}}条</strong><br>
&nbsp;&nbsp;通过用例数passed: <strong><font color="green">${{passed}}条</font></strong><br>
&nbsp;&nbsp;重试通过用例数rerun: <strong><font color="green">${{rerun}}条</font></strong><br>
&nbsp;&nbsp;失败用例数failed: <strong><font color="red">${{failed}}条</font></strong><br>
&nbsp;&nbsp;报错用例数error: <strong><font color="orange">${{error}}条</font></strong><br>
&nbsp;&nbsp;跳过用例数skipped: <strong><font color="grey">${{skipped}}条</font></strong><br>
&nbsp;&nbsp;预期失败用例数xfailed: <strong><font color="grey">${{xfailed}}条</font></strong><br>
&nbsp;&nbsp;预期通过用例数xpassed: <strong><font color="grey">${{xpassed}}条</font></strong><br>
&nbsp;&nbsp;通过率: <strong><font color="green">${{pass_rate}}%%</font></strong><br>
&nbsp;&nbsp;测试报告,点击查看: <a href='{ALLURE_URL}'>[测试报告入口]</a><br>
&nbsp;&nbsp;构建详情,点击查看: <a href='{BUILD_URL}'>[控制台入口]</a><br>
**********************************<br>
附件为具体的测试报告,详细情况可下载附件查看,非相关负责人员可忽略此消息。谢谢。
"""
# ------------------------------------ 企业微信相关配置 ----------------------------------------------------#
# 企业微信通知群聊
WECHAT_WEBHOOK_URLS = ["https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxx"]
# 企业微信通知内容
WECHAT_CONTENT = f"""******用例执行结果统计******
> 项目名称: {ProjectName}
> 构件编号: #{BUILD_NUMBER}
> 测试环境: {ENV}
> 总用例数:<font color="info">${{total}}条</font>
> 通过用例数:<font color="info">${{passed}}条</font>
> 重试通过用例数:<font color="info">${{rerun}}条</font>
> 失败用例数:<font color="red">${{failed}}条</font>
> 报错用例数:<font color="red">${{error}}条</font>
> 跳过用例数:<font color="warning">${{skipped}}条</font>
> 预期失败用例数:<font color="comment">${{xfailed}}条</font>
> 预期通过用例数:<font color="comment">${{xpassed}}条</font>
> 通过率:<font color="info">${{pass_rate}}%%</font>
> 用例开始时间: <font color="info">${{start_time}}</font>
> 用例执行时长:<font color="info">${{duration}}s</font>
> 测试报告,点击查看 >> [测试报告入口]({ALLURE_URL})
> 构建详情,点击查看 >> [控制台入口]({BUILD_URL})
"""