diff --git a/httprunner/context.py b/httprunner/context.py index 552517cc..ac9b5b3c 100644 --- a/httprunner/context.py +++ b/httprunner/context.py @@ -230,6 +230,8 @@ class Context(object): except exception.ParseResponseError: raise exception.ParseResponseError("failed to extract check item in response!") + expect_value = self.testcase_parser.eval_content_variables(expect_value) + validator_dict = { "check_item": check_item, "check_value": check_value, diff --git a/tests/data/demo_testset_hardcode.yml b/tests/data/demo_testset_hardcode.yml index 336df678..1a7b1758 100644 --- a/tests/data/demo_testset_hardcode.yml +++ b/tests/data/demo_testset_hardcode.yml @@ -11,11 +11,14 @@ app_version: '2.8.6' json: sign: f1219719911caae89ccc301679857ebfda115ca2 + variables: + - expect_status_code: 200 + - token_len: 16 extract: - token: content.token validate: - - eq: ["status_code", 200] - - len_eq: ["$token", 16] + - eq: ["status_code", $expect_status_code] + - len_eq: ["$token", $token_len] - len_eq: ["content.token", 16] - {"check": "status_code", "comparator": "eq", "expect": 200} - sum_status_code: ["status_code", 2]