pytest_api/run.py

45 lines
1.7 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import traceback
import pytest
import os
from tools.log_control import INFO
from tools.yaml_control import GetYamlData
from config.settings import ConfigHandler
from tools.feishu_control import FeiShuTalkChatBot
from config.configs import Config
def run():
# 从配置文件中获取项目名称
project_name = GetYamlData(ConfigHandler.config_path).get_yaml_data()['ProjectName']
testing_evn = Config().__getattr__("CI_ENVIRONMENT_SLUG")
try:
try:
DAV_ENVIRONMENT_SLUG = Config().__getattr__('DAV_ENVIRONMENT_SLUG')
print("DAV_ENVIRONMENT_SLUG",DAV_ENVIRONMENT_SLUG)
INFO.logger.info("""开始执行{0}项目,环境{1}...""".format(project_name, DAV_ENVIRONMENT_SLUG))
if '-' in DAV_ENVIRONMENT_SLUG:
DAV_ENVIRONMENT_SLUG=DAV_ENVIRONMENT_SLUG.replace("-","_")
pytest.main(['-m %s'%DAV_ENVIRONMENT_SLUG, '-W', 'ignore:Module already imported:pytest.PytestWarning','--alluredir', './report/tmp'])
os.system(r"allure generate ./report/tmp -o ./report/html --clean")
except:
INFO.logger.info("""开始执行{0}项目,默认运行{1}分支环境..""".format(project_name,testing_evn))
pytest.main(['-m %s'%testing_evn, '-W', 'ignore:Module already imported:pytest.PytestWarning', '--alluredir', './report/tmp'])
os.system(r"allure generate ./report/tmp -o ./report/html --clean")
except Exception:
# 如有异常,相关异常发送邮件
e = traceback.format_exc()
# FeiShuTalkChatBot().error_feishu(e)
raise
if __name__ == '__main__':
run()
# pytest.main(['-m staging'])