def test_is_testsets(self): data_structure = "path/to/file" self.assertFalse(testcase.is_testsets(data_structure)) data_structure = ["path/to/file1", "path/to/file2"] self.assertFalse(testcase.is_testsets(data_structure)) data_structure = { "name": "desc1", "config": {}, "api": {}, "testcases": ["testcase11", "testcase12"] } self.assertTrue(data_structure) data_structure = [ { "name": "desc1", "config": {}, "api": {}, "testcases": ["testcase11", "testcase12"] }, { "name": "desc2", "config": {}, "api": {}, "testcases": ["testcase21", "testcase22"] } ] self.assertTrue(data_structure)
def init_task_suite(path_or_testsets, mapping=None, http_client_session=None): """ initialize task suite """ if not testcase.is_testsets(path_or_testsets): testsets = testcase.load_testsets_by_path(path_or_testsets) else: testsets = path_or_testsets mapping = mapping or {} return TaskSuite(testsets, mapping, http_client_session)
def init_task_suite(path_or_testsets, mapping=None, http_client_session=None): """ initialize task suite """ if not testcase.is_testsets(path_or_testsets): TestcaseLoader.load_test_dependencies() testsets = TestcaseLoader.load_testsets_by_path(path_or_testsets) else: testsets = path_or_testsets # TODO: move comparator uniform here mapping = mapping or {} return TaskSuite(testsets, mapping, http_client_session)
def init_test_suites2(path_or_testsets): if not testcase.is_testsets(path_or_testsets): TestcaseLoader.load_test_dependencies() testsets = TestcaseLoader.load_testsets_by_path(path_or_testsets) else: testsets = path_or_testsets if not testsets: raise exceptions.TestcaseNotFound if isinstance(testsets, dict): testsets = [testsets] order_case_dict = {} # 根据文件名称中的关键字'_sort_@',按顺序加载 for testset in testsets: testset_file_path = testset.get("config", {}).get("path") start_index = testset_file_path.rfind('\\') if start_index == -1: start_index = testset_file_path.rfind('/') testset_file_name = testset_file_path[start_index + 1:] order_index = testset_file_name.find('_sort_@') if order_index != -1: order_key = int(testset_file_name[0:order_index]) else: order_key = -1 if order_key not in order_case_dict.keys(): order_value = [] order_value.append(testset) order_case_dict[order_key] = order_value else: order_case_dict[order_key].append(testset) # 对字典key进行排序 order_keys = sorted(order_case_dict) # 按字典key顺序组装集合 testset_list = [] for key in order_keys: testset_list.extend(order_case_dict[key]) return testset_list
def init_test_suites(path_or_testsets, mapping=None, http_client_session=None): """ initialize TestSuite list with testset path or testset dict @params testsets (dict/list): testset or list of testset testset_dict or [ testset_dict_1, testset_dict_2, { "config": {}, "api": {}, "testcases": [testcase11, testcase12] } ] mapping (dict): passed in variables mapping, it will override variables in config block """ if not testcase.is_testsets(path_or_testsets): TestcaseLoader.load_test_dependencies() testsets = TestcaseLoader.load_testsets_by_path(path_or_testsets) else: testsets = path_or_testsets # TODO: move comparator uniform here mapping = mapping or {} if not testsets: raise exceptions.TestcaseNotFound if isinstance(testsets, dict): testsets = [testsets] test_suite_list = [] for testset in testsets: test_suite = TestSuite(testset, mapping, http_client_session) test_suite_list.append(test_suite) return test_suite_list