httprunner 3.x学习18 - validate 断言总结

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httprunner 3.x学习18 - validate 断言总结相关的知识,希望对你有一定的参考价值。

前言

httprunner 3.x使用 validate 方法断言

comparator 校验方式

validate 可以支持的校验方式

comparator缩写功能
equal“eq”, “equals”, “equal”相等
less_than“lt”, “less_than”小于
less_or_equals“le”, “less_or_equals”小于或等于
greater_than“gt”, “greater_than”大于
greater_or_equals“ge”, “greater_or_equals”大于或等于
not_equal“ne”, “not_equal”不等于
string_equals“str_eq”, “string_equals”转字符串相等
length_equal“len_eq”, “length_equal”长度相等
length_greater_than“len_gt”,“length_greater_than”长度大于
length_greater_or_equals“len_ge”,“length_greater_or_equals”长度大于或等于
length_less_than“len_lt”, “length_less_than”长度小于
length_less_or_equals"“len_le”, “length_less_or_equals”长度小于或等于
containscheck_value 包含 expect_value
contained_byexpect_value 包含check_value
type_matchtype类型匹配
regex_match正则匹配re.match(expect_value, check_value)
startswith字符串以xx开头
endswith字符串以xx结尾

yaml 中可以写2种格式校验

httprunner 校验返回结果有2种格式

  • {“comparator_name”: [check_value, expect_value]}
  • {“check”: check_value, “comparator”: comparator_name, “expect”: expect_value}

我们平常用的比较多是是上面这种,直接拿到返回结果,校验与期望结果是否一致

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

validate:
        - eq: [status_code, 200]
        - less_than: [status_code, 400]
        - equals: [body.code, 0]
        - equals: [body.msg, success!]
        - length_equals: [body.datas, 2]
        - greater_than_or_equals: [body.datas.0.age, 18]

pytest脚本中的断言

先调用.validate()后,可以看到全部assert方法,在StepRequestValidation 类中定义

方法对应校验方法功能
assert_equalequal相等
assert_not_equalnot_equal不等于
assert_less_thanless_than小于
assert_less_or_equalsless_or_equals小于或等于
assert_greater_thangreater_than大于
assert_greater_or_equalsgreater_or_equals大于或等于
assert_assert_string_equalsstring_equals转字符串相等
assert_length_equallength_equal长度相等
assert_length_greater_thanlength_greater_than长度大于
assert_length_greater_or_equalslength_greater_or_equals长度大于或等于
assert_length_less_thanlength_less_than长度小于
assert_length_less_or_equalslength_less_or_equals长度小于或等于
assert_containscontainscheck_value 包含 expect_value
assert_contained_bycontained_byexpect_value 包含check_value
assert_type_matchtype_matchtype类型匹配
assert_regex_matchregex_match正则匹配re.match(expect_value, check_value)
assert_startswithstartswith字符串以xx开头
assert_endswithendswith字符串以xx结尾

使用方式先调用 .validate() 方法,才能调用 assert 断言方法

以上是关于httprunner 3.x学习18 - validate 断言总结的主要内容,如果未能解决你的问题,请参考以下文章

httprunner 3.x学习2

httprunner 3.x学习10

httprunner 3.x学习16

httprunner 3.x学习6

httprunner 3.x学习16

httprunner 3.x学习20 - jmespath取值特殊字符问题解决