From 3bc124ddfffb0e99297bd7adea630fbe952c9468 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Thu, 23 Apr 2020 14:59:04 +0800 Subject: [PATCH] refactor: change variable name from meta_datas to step_datas --- .../validate_with_variables_test.py | 2 +- httprunner/api.py | 2 +- httprunner/report/html/result.py | 4 +- httprunner/report/stringify.py | 50 ++++--------------- httprunner/report/summarize.py | 2 +- httprunner/v3/api.py | 2 +- httprunner/v3/api_test.py | 1 - httprunner/v3/runner.py | 6 +-- httprunner/v3/schema.py | 2 +- 9 files changed, 20 insertions(+), 51 deletions(-) diff --git a/examples/postman_echo/request_methods/validate_with_variables_test.py b/examples/postman_echo/request_methods/validate_with_variables_test.py index 840e5ce1..8582a3ba 100644 --- a/examples/postman_echo/request_methods/validate_with_variables_test.py +++ b/examples/postman_echo/request_methods/validate_with_variables_test.py @@ -96,4 +96,4 @@ class TestCaseRequestMethodsValidateWithVariables(TestCaseRunner): if __name__ == '__main__': runner = TestCaseRequestMethodsValidateWithVariables().run() - print(runner.meta_datas) + print(runner.case_datas) diff --git a/httprunner/api.py b/httprunner/api.py index 1d4162d5..962baac3 100644 --- a/httprunner/api.py +++ b/httprunner/api.py @@ -70,7 +70,7 @@ class HttpRunner(object): except exceptions.MyBaseFailure as ex: self.fail(str(ex)) finally: - self.meta_datas = test_runner.meta_datas + self.step_datas = test_runner.step_datas if "config" in test_dict: # run nested testcase diff --git a/httprunner/report/html/result.py b/httprunner/report/html/result.py index 40cd3547..1a37c3f8 100644 --- a/httprunner/report/html/result.py +++ b/httprunner/report/html/result.py @@ -13,13 +13,13 @@ class HtmlTestResult(unittest.TextTestResult): self.name = "" self.status = "" self.attachment = "" - self.meta_datas = None + self.step_datas = None def _record_test(self, test, status, attachment=''): self.name = test.shortDescription() self.status = status self.attachment = attachment - self.meta_datas = test.meta_datas + self.step_datas = test.step_datas def startTestRun(self): self.start_at = time.time() diff --git a/httprunner/report/stringify.py b/httprunner/report/stringify.py index 7adbdd8e..45badb33 100644 --- a/httprunner/report/stringify.py +++ b/httprunner/report/stringify.py @@ -144,43 +144,13 @@ def __stringify_response(response_data): response_data[key] = value -def __expand_meta_datas(meta_datas, meta_datas_expanded): - """ expand meta_datas to one level - - Args: - meta_datas (dict/list): maybe in nested format - - Returns: - list: expanded list in one level - - Examples: - >>> meta_datas = [ - [ - dict1, - dict2 - ], - dict3 - ] - >>> meta_datas_expanded = [] - >>> __expand_meta_datas(meta_datas, meta_datas_expanded) - >>> print(meta_datas_expanded) - [dict1, dict2, dict3] - - """ - if isinstance(meta_datas, MetaData): - meta_datas_expanded.append(meta_datas) - elif isinstance(meta_datas, list): - for meta_data in meta_datas: - __expand_meta_datas(meta_data, meta_datas_expanded) - - -def __get_total_response_time(meta_datas: List[MetaData]): - """ caculate total response time of all meta_datas +def __get_total_response_time(step_datas: List[MetaData]): + """ caculate total response time of all step_datas """ try: response_time = 0 - for meta_data in meta_datas: - response_time += meta_data.stat.response_time_ms + for step_data in step_datas: + response_time += step_data.stat.response_time_ms return "{:.2f}".format(response_time) @@ -189,10 +159,10 @@ def __get_total_response_time(meta_datas: List[MetaData]): return "N/A" -def __stringify_meta_datas(meta_datas: List[MetaData]): +def __stringify_meta_datas(step_datas: List[MetaData]): - for meta_data in meta_datas: - data_list = meta_data.data + for step_data in step_datas: + data_list = step_data.data for data in data_list: __stringify_request(data["request"]) __stringify_response(data["response"]) @@ -206,6 +176,6 @@ def stringify_summary(testsuite_summary: TestSuiteSummary): if not testcase_summary.name: testcase_summary.name = f"testcase {index}" - meta_datas = testcase_summary.meta_datas - __stringify_meta_datas(meta_datas) - testcase_summary.total_response_time = __get_total_response_time(meta_datas) + step_datas = testcase_summary.step_datas + __stringify_meta_datas(step_datas) + testcase_summary.total_response_time = __get_total_response_time(step_datas) diff --git a/httprunner/report/summarize.py b/httprunner/report/summarize.py index 2d9d14fd..3234f3eb 100644 --- a/httprunner/report/summarize.py +++ b/httprunner/report/summarize.py @@ -67,5 +67,5 @@ def get_summary(result: HtmlTestResult) -> TestCaseSummary: status=result.status, attachment=result.attachment, in_out=TestCaseInOut(), - meta_datas=result.meta_datas + step_datas=result.step_datas ) diff --git a/httprunner/v3/api.py b/httprunner/v3/api.py index a31e4024..8b34bfd2 100644 --- a/httprunner/v3/api.py +++ b/httprunner/v3/api.py @@ -63,7 +63,7 @@ class HttpRunner(object): except exceptions.MyBaseFailure as ex: self.fail(str(ex)) finally: - self.meta_datas = test_runner.meta_datas + self.step_datas = test_runner.step_datas test.__doc__ = test_runner.config.name return test diff --git a/httprunner/v3/api_test.py b/httprunner/v3/api_test.py index 8a377bb8..94fa2f31 100644 --- a/httprunner/v3/api_test.py +++ b/httprunner/v3/api_test.py @@ -13,4 +13,3 @@ class TestHttpRunner(unittest.TestCase): self.assertTrue(summary.success) self.assertEqual(summary.details[0].name, "request methods testcase with variables") self.assertGreater(summary.stat.total, 1) - # self.assertEqual(summary.stat.teststeps["total"], 2) diff --git a/httprunner/v3/runner.py b/httprunner/v3/runner.py index b426b2ea..764d1647 100644 --- a/httprunner/v3/runner.py +++ b/httprunner/v3/runner.py @@ -15,7 +15,7 @@ class TestCaseRunner(object): config: TestsConfig = {} teststeps: List[TestStep] = [] session: HttpSession = None - meta_datas: List[MetaData] = [] + step_datas: List[MetaData] = [] validation_results: Dict = {} def init(self, testcase: TestCase) -> "TestCaseRunner": @@ -94,13 +94,13 @@ class TestCaseRunner(object): # save request & response meta data self.session.meta_data.validators = self.validation_results self.session.meta_data.name = step.name - self.meta_datas.append(self.session.meta_data) + self.step_datas.append(self.session.meta_data) return extract_mapping def test_start(self): """main entrance""" - self.meta_datas.clear() + self.step_datas.clear() session_variables = {} for step in self.teststeps: # update with config variables diff --git a/httprunner/v3/schema.py b/httprunner/v3/schema.py index b52dcff5..5278838e 100644 --- a/httprunner/v3/schema.py +++ b/httprunner/v3/schema.py @@ -114,7 +114,7 @@ class TestCaseSummary(BaseModel): time: TestCaseTime in_out: TestCaseInOut = {} log: Text = "" - meta_datas: List[MetaData] = [] + step_datas: List[MetaData] = [] total_response_time: Text = "N/A"