概念
结果校验(又称断言)是测试用例中的重要组成部分,可以对测试用例在运行过程中是否得到了预期结果进行校验,例如对响应状态码进行断言,以及对响应 JSON 中的具体字段进行断言。
目前 HttpRunner 支持两种匹配目标参数的方式,并且内置了丰富的结果检验函数,可以实现满足众多的测试场景需求。
示例
下面以 YAML 测试用例为例,展示结果校验功能的写法示例:
内置结果校验函数
assert 部分支持填写的内置结果校验函数包括如下内容:
assert | Description | A(check), B(expect) | examples |
eq, equals, equal | value is equal | A == B | 9 eq 9 |
lt, less_than | less than | A < B | 7 lt 8 |
le, less_or_equals | less than or equals | A <= B | 7 le 8, 8 le 8 |
gt, greater_than | greater than | A > B | 8 gt 7 |
ge, greater_or_equals | greater than or equals | A >= B | 8 ge 7, 8 ge 8 |
ne, not_equal | not equals | A != B | 6 ne 9 |
str_eq, string_equals | string equals | str(A) == str(B) | 123 str_eq ‘123’ |
len_eq, length_equals, length_equal | length equals | len(A) == B | ‘abc’ len_eq 3, [1,2] len_eq 2 |
len_gt, count_gt, length_greater_than | length greater than | len(A) > B | ‘abc’ len_gt 2, [1,2,3] len_gt 2 |
len_ge, count_ge, length_greater_or_equals | length greater than or equals | len(A) >= B | ‘abc’ len_ge 3, [1,2,3] len_gt 3 |
len_lt, count_lt, length_less_than | length less than | len(A) < B | ‘abc’ len_lt 4, [1,2,3] len_lt 4 |
len_le, count_le, length_less_or_equals | length less than or equals | len(A) <= B | ‘abc’ len_le 3, [1,2,3] len_le 3 |
contains | contains | [1, 2] contains 1 | ‘abc’ contains ‘a’, [1,2,3] len_lt 4 |
contained_by | contained by | A in B | ‘a’ contained_by ‘abc’, 1 contained_by [1,2] |
type_match | A and B are in the same type | type(A) == type(B) | 123 type_match 1 |
regex_match | regex matches | re.match(B, A) | ‘abcdef’ regex_match ‘a\w+d’ |
startswith | starts with | A.startswith(B) is True | ‘abc’ startswith ‘ab’ |
endswith | ends with | A.endswith(B) is True | ‘abc’ endswith ‘bc’ |