diff --git a/examples/postman_echo/request_methods/hardcode_test.py b/examples/postman_echo/request_methods/hardcode_test.py index 1b4a535a..c18e97cc 100644 --- a/examples/postman_echo/request_methods/hardcode_test.py +++ b/examples/postman_echo/request_methods/hardcode_test.py @@ -1,12 +1,12 @@ # NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class TestCaseHardcode(unittest.TestCase): - config = TestsConfig( + config = TConfig( **{ "name": "request methods testcase in hardcode", "base_url": "https://postman-echo.com", @@ -16,7 +16,7 @@ class TestCaseHardcode(unittest.TestCase): ) teststeps = [ - TestStep( + TStep( **{ "name": "get with params", "request": { @@ -28,7 +28,7 @@ class TestCaseHardcode(unittest.TestCase): "validate": [{"eq": ["status_code", 200]}], } ), - TestStep( + TStep( **{ "name": "post raw text", "request": { @@ -43,7 +43,7 @@ class TestCaseHardcode(unittest.TestCase): "validate": [{"eq": ["status_code", 200]}], } ), - TestStep( + TStep( **{ "name": "post form data", "request": { @@ -58,7 +58,7 @@ class TestCaseHardcode(unittest.TestCase): "validate": [{"eq": ["status_code", 200]}], } ), - TestStep( + TStep( **{ "name": "put request", "request": { @@ -76,4 +76,4 @@ class TestCaseHardcode(unittest.TestCase): ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() diff --git a/examples/postman_echo/request_methods/request_with_functions_test.py b/examples/postman_echo/request_methods/request_with_functions_test.py index d45fd718..aaa31321 100644 --- a/examples/postman_echo/request_methods/request_with_functions_test.py +++ b/examples/postman_echo/request_methods/request_with_functions_test.py @@ -1,12 +1,12 @@ # NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class TestCaseRequestWithFunctions(unittest.TestCase): - config = TestsConfig( + config = TConfig( **{ "name": "request methods testcase with functions", "variables": {"foo1": "session_bar1"}, @@ -17,7 +17,7 @@ class TestCaseRequestWithFunctions(unittest.TestCase): ) teststeps = [ - TestStep( + TStep( **{ "name": "get with params", "variables": { @@ -40,7 +40,7 @@ class TestCaseRequestWithFunctions(unittest.TestCase): ], } ), - TestStep( + TStep( **{ "name": "post raw text", "variables": {"foo1": "hello world", "foo3": "$session_foo2"}, @@ -64,7 +64,7 @@ class TestCaseRequestWithFunctions(unittest.TestCase): ], } ), - TestStep( + TStep( **{ "name": "post form data", "variables": {"foo1": "bar1", "foo2": "bar2"}, @@ -87,4 +87,4 @@ class TestCaseRequestWithFunctions(unittest.TestCase): ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() diff --git a/examples/postman_echo/request_methods/request_with_testcase_reference_test.py b/examples/postman_echo/request_methods/request_with_testcase_reference_test.py index 7ec814a4..63153c75 100644 --- a/examples/postman_echo/request_methods/request_with_testcase_reference_test.py +++ b/examples/postman_echo/request_methods/request_with_testcase_reference_test.py @@ -1,12 +1,12 @@ # NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class TestCaseRequestWithTestcaseReference(unittest.TestCase): - config = TestsConfig( + config = TConfig( **{ "name": "request methods testcase: reference testcase", "variables": {"foo1": "session_bar1"}, @@ -17,7 +17,7 @@ class TestCaseRequestWithTestcaseReference(unittest.TestCase): ) teststeps = [ - TestStep( + TStep( **{ "name": "request with variables", "variables": {"foo1": "override_bar1"}, @@ -27,4 +27,4 @@ class TestCaseRequestWithTestcaseReference(unittest.TestCase): ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() diff --git a/examples/postman_echo/request_methods/request_with_variables_test.py b/examples/postman_echo/request_methods/request_with_variables_test.py index b351e92b..4f6e8f04 100644 --- a/examples/postman_echo/request_methods/request_with_variables_test.py +++ b/examples/postman_echo/request_methods/request_with_variables_test.py @@ -1,12 +1,12 @@ # NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class TestCaseRequestWithVariables(unittest.TestCase): - config = TestsConfig( + config = TConfig( **{ "name": "request methods testcase with variables", "variables": {"foo1": "session_bar1"}, @@ -17,7 +17,7 @@ class TestCaseRequestWithVariables(unittest.TestCase): ) teststeps = [ - TestStep( + TStep( **{ "name": "get with params", "variables": {"foo1": "bar1", "foo2": "session_bar2"}, @@ -35,7 +35,7 @@ class TestCaseRequestWithVariables(unittest.TestCase): ], } ), - TestStep( + TStep( **{ "name": "post raw text", "variables": {"foo1": "hello world", "foo3": "$session_foo2"}, @@ -59,7 +59,7 @@ class TestCaseRequestWithVariables(unittest.TestCase): ], } ), - TestStep( + TStep( **{ "name": "post form data", "variables": {"foo1": "bar1", "foo2": "bar2"}, @@ -82,4 +82,4 @@ class TestCaseRequestWithVariables(unittest.TestCase): ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() diff --git a/examples/postman_echo/request_methods/validate_with_functions_test.py b/examples/postman_echo/request_methods/validate_with_functions_test.py index 82b7d454..e397ba8c 100644 --- a/examples/postman_echo/request_methods/validate_with_functions_test.py +++ b/examples/postman_echo/request_methods/validate_with_functions_test.py @@ -1,12 +1,12 @@ # NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class TestCaseValidateWithFunctions(unittest.TestCase): - config = TestsConfig( + config = TConfig( **{ "name": "request methods testcase: validate with functions", "variables": {"foo1": "session_bar1"}, @@ -17,7 +17,7 @@ class TestCaseValidateWithFunctions(unittest.TestCase): ) teststeps = [ - TestStep( + TStep( **{ "name": "get with params", "variables": { @@ -42,4 +42,4 @@ class TestCaseValidateWithFunctions(unittest.TestCase): ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() 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 0293766c..10eaf7bc 100644 --- a/examples/postman_echo/request_methods/validate_with_variables_test.py +++ b/examples/postman_echo/request_methods/validate_with_variables_test.py @@ -1,12 +1,12 @@ # NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class TestCaseValidateWithVariables(unittest.TestCase): - config = TestsConfig( + config = TConfig( **{ "name": "request methods testcase: validate with variables", "variables": {"foo1": "session_bar1"}, @@ -17,7 +17,7 @@ class TestCaseValidateWithVariables(unittest.TestCase): ) teststeps = [ - TestStep( + TStep( **{ "name": "get with params", "variables": {"foo1": "bar1", "foo2": "session_bar2"}, @@ -35,7 +35,7 @@ class TestCaseValidateWithVariables(unittest.TestCase): ], } ), - TestStep( + TStep( **{ "name": "post raw text", "variables": {"foo1": "hello world", "foo3": "$session_foo2"}, @@ -59,7 +59,7 @@ class TestCaseValidateWithVariables(unittest.TestCase): ], } ), - TestStep( + TStep( **{ "name": "post form data", "variables": {"foo1": "bar1", "foo2": "bar2"}, @@ -82,4 +82,4 @@ class TestCaseValidateWithVariables(unittest.TestCase): ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() diff --git a/httprunner/api.py b/httprunner/api.py index 5f615e44..7afdaab9 100644 --- a/httprunner/api.py +++ b/httprunner/api.py @@ -7,7 +7,7 @@ from loguru import logger from httprunner import report, loader, utils, exceptions, __version__ from httprunner.report import gen_html_report -from httprunner.runner import TestCaseRunner +from httprunner.runner import HttpRunner as TestCaseRunner from httprunner.schema import TestsMapping, TestCaseSummary, TestSuiteSummary diff --git a/httprunner/ext/make/__init__.py b/httprunner/ext/make/__init__.py index 174f5d88..37ca4f46 100644 --- a/httprunner/ext/make/__init__.py +++ b/httprunner/ext/make/__init__.py @@ -9,26 +9,27 @@ from httprunner.new_loader import load_testcase_file, load_folder_files __TMPL__ = """# NOTICE: Generated By HttpRunner. DO'NOT EDIT! import unittest -from httprunner.runner import TestCaseRunner -from httprunner.schema import TestsConfig, TestStep +from httprunner.runner import HttpRunner +from httprunner.schema import TConfig, TStep class {{ class_name }}(unittest.TestCase): - config = TestsConfig(**{{ config }}) + config = TConfig(**{{ config }}) teststeps = [ {% for teststep in teststeps %} - TestStep(**{{ teststep }}), + TStep(**{{ teststep }}), {% endfor %} ] def test_start(self): - TestCaseRunner(self.config, self.teststeps).run() + HttpRunner(self.config, self.teststeps).run() """ def make_testcase(testcase_path: str) -> str: + logger.info(f"start to make testcase: {testcase_path}") testcase, _ = load_testcase_file(testcase_path) template = jinja2.Template(__TMPL__) diff --git a/httprunner/runner.py b/httprunner/runner.py index ceaf2f42..9f78fee0 100644 --- a/httprunner/runner.py +++ b/httprunner/runner.py @@ -10,18 +10,18 @@ from httprunner.new_loader import load_project_data, load_testcase_file from httprunner.parser import build_url, parse_data, parse_variables_mapping from httprunner.response import ResponseObject from httprunner.schema import ( - TestsConfig, - TestStep, + TConfig, + TStep, VariablesMapping, StepData, ) -class TestCaseRunner(object): +class HttpRunner(object): def __init__( self, - config: TestsConfig, - teststeps: List[TestStep], + config: TConfig, + teststeps: List[TStep], session: HttpSession = None, ): if not config.path: @@ -38,11 +38,11 @@ class TestCaseRunner(object): self.project_data = load_project_data(self.config.path) self.config.functions = self.project_data.functions - def with_variables(self, **variables: VariablesMapping) -> "TestCaseRunner": + def with_variables(self, **variables: VariablesMapping) -> "HttpRunner": self.config.variables.update(variables) return self - def __run_step_request(self, step: TestStep): + def __run_step_request(self, step: TStep): """run teststep: request""" step_data = StepData(name=step.name) @@ -125,7 +125,7 @@ class TestCaseRunner(object): _, testcase_obj = load_testcase_file(ref_testcase_path) case_result = ( - TestCaseRunner(testcase_obj.config, testcase_obj.teststeps, self.session) + HttpRunner(testcase_obj.config, testcase_obj.teststeps, self.session) .with_variables(**step_variables) .run() ) @@ -136,7 +136,7 @@ class TestCaseRunner(object): return step_data - def __run_step(self, step: TestStep): + def __run_step(self, step: TStep): """run teststep, teststep maybe a request or referenced testcase""" logger.info(f"run step: {step.name}") diff --git a/httprunner/schema.py b/httprunner/schema.py index 585e6c42..e96176f1 100644 --- a/httprunner/schema.py +++ b/httprunner/schema.py @@ -31,7 +31,7 @@ class MethodEnum(Text, Enum): TRACE = "TRACE" -class TestsConfig(BaseModel): +class TConfig(BaseModel): name: Name verify: Verify = False base_url: BaseUrl = "" @@ -58,7 +58,7 @@ class Request(BaseModel): verify: Verify = False -class TestStep(BaseModel): +class TStep(BaseModel): name: Name request: Request = None testcase: Text = "" @@ -68,8 +68,8 @@ class TestStep(BaseModel): class TestCase(BaseModel): - config: TestsConfig - teststeps: List[TestStep] + config: TConfig + teststeps: List[TStep] class ProjectMeta(BaseModel):