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" 长度小于或等于
contains check_value 包含 expect_value
contained_by expect_value 包含check_value
type_match type类型匹配
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_equal equal 相等
assert_not_equal not_equal 不等于
assert_less_than less_than 小于
assert_less_or_equals less_or_equals 小于或等于
assert_greater_than greater_than 大于
assert_greater_or_equals greater_or_equals 大于或等于
assert_assert_string_equals string_equals 转字符串相等
assert_length_equal length_equal 长度相等
assert_length_greater_than length_greater_than 长度大于
assert_length_greater_or_equals length_greater_or_equals 长度大于或等于
assert_length_less_than length_less_than 长度小于
assert_length_less_or_equals length_less_or_equals 长度小于或等于
assert_contains contains check_value 包含 expect_value
assert_contained_by contained_by expect_value 包含check_value
assert_type_match type_match type类型匹配
assert_regex_match regex_match 正则匹配re.match(expect_value, check_value)
assert_startswith startswith 字符串以xx开头
assert_endswith endswith 字符串以xx结尾

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

网易云课程地址



点我 ->立即报名

posted @   上海-悠悠  阅读(1717)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示