45 lines
1.7 KiB
Python
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'])
|
|
|
|
|
|
|
|
|