From 8a77b23c718e019d0fe38ed3f99c94c42f2add2e Mon Sep 17 00:00:00 2001 From: debugtalk Date: Wed, 4 Dec 2019 14:19:01 +0800 Subject: [PATCH] fix: fix load_tests for not exist path --- httprunner/api.py | 2 -- httprunner/loader.py | 26 ++++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/httprunner/api.py b/httprunner/api.py index d8cf9941..7eda3126 100644 --- a/httprunner/api.py +++ b/httprunner/api.py @@ -257,9 +257,7 @@ class HttpRunner(object): """ # load tests self.exception_stage = "load tests" - path = loader.prepare_path(path) tests_mapping = loader.load_tests(path, dot_env_path) - tests_mapping["project_mapping"]["test_path"] = path if mapping: tests_mapping["project_mapping"]["variables"] = mapping diff --git a/httprunner/loader.py b/httprunner/loader.py index 27bd9f56..191011e5 100644 --- a/httprunner/loader.py +++ b/httprunner/loader.py @@ -779,6 +779,19 @@ def load_project_tests(test_path, dot_env_path=None): environments and debugtalk.py functions. """ + + def prepare_path(path): + if not os.path.exists(path): + err_msg = "path not exist: {}".format(path) + logger.log_error(err_msg) + raise exceptions.FileNotFound(err_msg) + + if not os.path.isabs(path): + path = os.path.join(os.getcwd(), path) + + return path + + test_path = prepare_path(test_path) # locate debugtalk.py file debugtalk_path = locate_debugtalk_py(test_path) @@ -810,24 +823,13 @@ def load_project_tests(test_path, dot_env_path=None): project_mapping["PWD"] = project_working_directory built_in.PWD = project_working_directory project_mapping["functions"] = debugtalk_functions + project_mapping["test_path"] = test_path # load api tests_def_mapping["api"] = load_api_folder(os.path.join(project_working_directory, "api")) tests_def_mapping["PWD"] = project_working_directory -def prepare_path(path): - if not os.path.exists(path): - err_msg = "path not exist: {}".format(path) - logger.log_error(err_msg) - raise exceptions.FileNotFound(err_msg) - - if not os.path.isabs(path): - path = os.path.join(os.getcwd(), path) - - return path - - def load_tests(path, dot_env_path=None): """ load testcases from file path, extend and merge with api/testcase definitions.