diff --git a/httprunner/exceptions.py b/httprunner/exceptions.py index 0e717f89..6323c896 100644 --- a/httprunner/exceptions.py +++ b/httprunner/exceptions.py @@ -12,9 +12,6 @@ class MyBaseFailure(BaseException): class ValidationFailure(MyBaseFailure): pass -class ResponseFailure(MyBaseFailure): - pass - class ParseResponseFailure(MyBaseFailure): pass diff --git a/httprunner/runner.py b/httprunner/runner.py index 7ad195b1..55532ee9 100644 --- a/httprunner/runner.py +++ b/httprunner/runner.py @@ -183,8 +183,8 @@ class Runner(object): validators = testcase_dict.get("validate", []) or testcase_dict.get("validators", []) try: self.context.validate(validators, resp_obj) - except (exceptions.ParamsError, exceptions.ResponseFailure, \ - exceptions.ValidationFailure, exceptions.ParseResponseFailure): + except (exceptions.ParamsError, \ + exceptions.ValidationFailure, exceptions.ParseResponseFailure): # log request err_req_msg = "request: \n" err_req_msg += "headers: {}\n".format(parsed_request.pop("headers", {})) diff --git a/httprunner/utils.py b/httprunner/utils.py index 48cc1683..2e67abb7 100644 --- a/httprunner/utils.py +++ b/httprunner/utils.py @@ -172,7 +172,7 @@ class FileUtils(object): def query_json(json_content, query, delimiter='.'): """ Do an xpath-like query with json_content. - @param (json_content) json_content + @param (dict/list) json_content json_content = { "ids": [1, 2, 3, 4], "person": { @@ -189,14 +189,11 @@ def query_json(json_content, query, delimiter='.'): "person.cities.0" => "Guangzhou" @return queried result """ - if json_content == "": - raise exceptions.ResponseFailure("response content is empty!") - try: for key in query.split(delimiter): if isinstance(json_content, list): json_content = json_content[int(key)] - elif isinstance(json_content, (dict, CaseInsensitiveDict)): + elif isinstance(json_content, dict): json_content = json_content[key] else: raise exceptions.ParseResponseFailure( diff --git a/tests/test_utils.py b/tests/test_utils.py index 851e97fc..dbdbe553 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -186,17 +186,6 @@ class TestUtils(ApiServerUnittest): result = utils.query_json(json_content, query) self.assertEqual(result, "Leo") - def test_query_json_content_is_text(self): - json_content = "" - query = "key" - with self.assertRaises(exceptions.ResponseFailure): - utils.query_json(json_content, query) - - json_content = "content" - query = "key" - with self.assertRaises(exceptions.ParseResponseFailure): - utils.query_json(json_content, query) - def test_get_uniform_comparator(self): self.assertEqual(utils.get_uniform_comparator("eq"), "equals") self.assertEqual(utils.get_uniform_comparator("=="), "equals")