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 断言方法
网易云课程地址
标签:
httprunner 3.x
, httprunner
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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工具