fix: convert jmespath.search result to int/float

This commit is contained in:
debugtalk
2020-05-31 10:53:43 +08:00
parent e22d828dca
commit 47cc964ecf
8 changed files with 14 additions and 9 deletions

View File

@@ -1,5 +1,11 @@
# Release History # Release History
## 3.0.7 (2020-05-31)
**Fixed**
- fix: convert jmespath.search result to int/float
## 3.0.6 (2020-05-29) ## 3.0.6 (2020-05-29)
**Added** **Added**

View File

@@ -0,0 +1 @@
# NOTICE: Generated By HttpRunner. DO NOT EDIT!

View File

@@ -34,7 +34,7 @@ class TestCaseRequestWithFunctions(HttpRunner):
"validate": [ "validate": [
{"eq": ["status_code", 200]}, {"eq": ["status_code", 200]},
{"eq": ["body.args.foo1", "session_bar1"]}, {"eq": ["body.args.foo1", "session_bar1"]},
{"eq": ["body.args.sum_v", 3]}, {"eq": ["body.args.sum_v", "3"]},
{"eq": ["body.args.foo2", "session_bar2"]}, {"eq": ["body.args.foo2", "session_bar2"]},
], ],
} }

View File

@@ -26,7 +26,7 @@ teststeps:
validate: validate:
- eq: ["status_code", 200] - eq: ["status_code", 200]
- eq: ["body.args.foo1", "session_bar1"] - eq: ["body.args.foo1", "session_bar1"]
- eq: ["body.args.sum_v", 3] - eq: ["body.args.sum_v", "3"]
- eq: ["body.args.foo2", "session_bar2"] - eq: ["body.args.foo2", "session_bar2"]
- -
name: post raw text name: post raw text

View File

@@ -34,7 +34,7 @@ class TestCaseRequestWithFunctions(HttpRunner):
"validate": [ "validate": [
{"eq": ["status_code", 200]}, {"eq": ["status_code", 200]},
{"eq": ["body.args.foo1", "session_bar1"]}, {"eq": ["body.args.foo1", "session_bar1"]},
{"eq": ["body.args.sum_v", 3]}, {"eq": ["body.args.sum_v", "3"]},
{"eq": ["body.args.foo2", "session_bar2"]}, {"eq": ["body.args.foo2", "session_bar2"]},
], ],
} }

View File

@@ -25,5 +25,5 @@ teststeps:
session_foo2: "body.args.foo2" session_foo2: "body.args.foo2"
validate: validate:
- eq: ["status_code", 200] - eq: ["status_code", 200]
- eq: ["body.args.sum_v", 3] - eq: ["body.args.sum_v", "3"]
- less_than: ["body.args.sum_v", "${sum_two(2, 2)}"] # - less_than: ["body.args.sum_v", "${sum_two(2, 2)}"] TODO

View File

@@ -33,8 +33,7 @@ class TestCaseValidateWithFunctions(HttpRunner):
"extract": {"session_foo2": "body.args.foo2"}, "extract": {"session_foo2": "body.args.foo2"},
"validate": [ "validate": [
{"eq": ["status_code", 200]}, {"eq": ["status_code", 200]},
{"eq": ["body.args.sum_v", 3]}, {"eq": ["body.args.sum_v", "3"]},
{"less_than": ["body.args.sum_v", "${sum_two(2, 2)}"]},
], ],
} }
), ),

View File

@@ -169,11 +169,10 @@ class ResponseObject(object):
check_value = parse_data( check_value = parse_data(
check_item, variables_mapping, functions_mapping check_item, variables_mapping, functions_mapping
) )
check_value = parse_string_value(check_value)
else: else:
check_value = jmespath.search(check_item, self.resp_obj_meta) check_value = jmespath.search(check_item, self.resp_obj_meta)
check_value = parse_string_value(check_value)
# comparator # comparator
assert_method = u_validator["assert"] assert_method = u_validator["assert"]
assert_func = get_mapping_function(assert_method, functions_mapping) assert_func = get_mapping_function(assert_method, functions_mapping)