diff --git a/backend/utils/cron/cronManager.py b/backend/utils/cron/cronManager.py index a03c3a1d69d79c3b663692d5897b1e2930306441..9513bed68071f62d95f13b8faf43745daa000b2e 100644 --- a/backend/utils/cron/cronManager.py +++ b/backend/utils/cron/cronManager.py @@ -91,6 +91,7 @@ class CronManager: is_execute_forbiddened_case = cron_info.get('isExecuteForbiddenedCase') test_case_id_list = cron_info.get('testCaseIdList') test_domain = cron_info.get('testDomain') + global_vars_id = cron_info.get('globalVarsId') alarm_mail_list = cron_info.get('alarmMailList') is_ding_ding_notify = cron_info.get('isDingDingNotify') ding_ding_access_token = cron_info.get('dingdingAccessToken') @@ -112,6 +113,7 @@ class CronManager: cron = Cron(test_case_suite_id_list=test_case_suite_id_list, is_execute_forbiddened_case=is_execute_forbiddened_case, test_domain=test_domain, + global_vars_id=global_vars_id, alarm_mail_list=alarm_mail_list, is_ding_ding_notify=is_ding_ding_notify, ding_ding_access_token=ding_ding_access_token, @@ -127,6 +129,7 @@ class CronManager: cron = Cron(test_case_suite_id_list=test_case_suite_id_list, is_execute_forbiddened_case=is_execute_forbiddened_case, test_domain=test_domain, + global_vars_id=global_vars_id, alarm_mail_list=alarm_mail_list, is_ding_ding_notify=is_ding_ding_notify, ding_ding_access_token=ding_ding_access_token, diff --git a/backend/utils/cron/interfaceTestCron.py b/backend/utils/cron/interfaceTestCron.py index 36ce200e47cb88e0bae5a881bd0e0f903177eb8d..ea18c41af5c806337126a7e61b2434d19bd0855b 100644 --- a/backend/utils/cron/interfaceTestCron.py +++ b/backend/utils/cron/interfaceTestCron.py @@ -5,6 +5,7 @@ from models.mailSender import MailSender from testframe.interfaceTest.tester import tester from models.testReport import TestReport from models.project import Project +from models.testDataStorage import TestDataStorage import pymongo from bson import ObjectId import datetime @@ -22,8 +23,8 @@ class Cron: def __init__(self, cron_name, test_case_suite_id_list, test_domain, trigger_type, is_execute_forbiddened_case=False, test_case_id_list=None, alarm_mail_list=None, is_ding_ding_notify=False, ding_ding_access_token=None, ding_ding_notify_strategy=None, is_enterprise_wechat_notify=False, enterprise_wechat_access_token=None, - enterprise_wechat_notify_strategy=None, is_web_hook=False, retry_limit=3, retry_interval=60, global_vars=None, - **trigger_args): + enterprise_wechat_notify_strategy=None, is_web_hook=False, retry_limit=3, retry_interval=60, + global_vars_id=None, **trigger_args): if test_case_id_list is None: test_case_id_list = [] @@ -81,7 +82,7 @@ class Cron: self.retry_limit = retry_limit # 定时任务报错后重试次数限制 self.retry_interval = retry_interval # 定时任务报错后重试时间间隔 - self.global_vars = global_vars if global_vars else {} + self.global_vars_id = global_vars_id if global_vars_id else None def get_cron_test_cases_list(self): if not self.is_execute_forbiddened_case: @@ -224,11 +225,13 @@ class Cron: else: raise TypeError('定时任务执行中未找到任何可执行用例!') - _global_vars = self.global_vars if hasattr(self, 'global_vars') else {} + # 查找数据字典 + global_vars_map = TestDataStorage.find_one({'_id': ObjectId(self.global_vars_id)}).get('dataMap', {}) \ + if self.global_vars_id else {} tester_for_cron = tester(test_case_list=cron_test_cases_list, domain=self.test_domain, - global_vars=_global_vars) + global_vars=global_vars_map) total_test_start_time = time.time()