httprunner 4.x学习 - 05校验(validate)

news/发布时间2024/5/16 11:52:18

前言

HttpRunner4.x 内置了丰富的校验结果的方式

校验方式

assert缩写说明
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结尾

2种校验方式:

validate:- eq: [status_code, 200]- eq: [body.url, "http://httpbin.org/post"]- eq: [body.origin, "183.193.27.78"]- eq: [headers."Content-Type", "application/json"]
 validate:- check: status_code            # 检查点,支持 jmespath 和正则提取assert: eq                    # 断言方式expect: 200                   # 期望结果message: check status code    # 可选项,当校验失败时的提示语

案例:

config:name: 案例teststeps:
-name: postvariables:username: adminrequest:method: POSTurl: http://120.25.121.168:19001/api/loginjson:username: ${username}password: "quxue2023"validate:- eq: [status_code, 200]- eq: [body.data.username, "admin"]- eq: [body.data.message, "成功"]- eq: [headers."Content-Type", "application/json"]

 

contains 校验包含

关于 contains 和 contained_by 函数定义

  • check_value 是需要校验的返回结果
  • expect_value 是期望结果,可以是这几种类型:list, tuple, dict, basestring
config:name: 案例teststeps:
-name: postvariables:username: adminrequest:method: POSTurl: http://120.25.121.168:19001/api/loginjson:username: ${username}password: "quxue2023"validate:- eq: [status_code, 200]- eq: [body.data.username, "admin"]- contains: [body.data.username, "2024"]- eq: [body.data.message, "成功"]- eq: [headers."Content-Type", "application/json"]

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/74073644.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

继续MDT的bug,

简介 这个据说是多播的bug 如果你真的想使用多重广播,这是我如何解决这个问题的。获取 Windows 11 ISO (x64) 挂载 ISO,在 sources 文件夹中,您需要 2 个文件wdscommon.dll和imagelib.dll 将这些文件复制到 x64 文件夹> mdt 部署共享>工具(例如,在我的文件夹中,…

建设库数据爬取

1. python部分: # -*- coding:utf-8 -*-# @Time : 2024/4/14 17:57 # @Author : 快乐的小猴子 # @Version : # @Function : import requests import json import subprocess from functools import partial # 专门用来固定参数的 subprocess.Popen = partial(subprocess.Po…

[ABC349] AtCoder Beginner Contest 349 题解

最近AT怎么这么寄[ABC349] AtCoder Beginner Contest 349 题解 目录[ABC349] AtCoder Beginner Contest 349 题解A - Zero Sum GameB - CommencementC - Airport CodeD - Divide IntervalE - Weighted Tic-Tac-ToeF - Subsequence LCMG - Palindrome Construction总结 A - Zero…

拆分内容

问题:将以下在一个单元格中的内容按品名、数量、单价、金额拆分出来函数公式解决:B2公式 =LEFT(TEXTBEFORE(A2,""),LEN(TEXTBEFORE(A2,""))-LEN(C2)) C2公式 =-LOOKUP(1,-RIGHT(TEXTBEFORE(A2,""),SEQUENCE(99))) D2公式 =-LOOKUP(1,-LEFT(TEX…

原型设计工具比较及实践

一、 1、墨刀在快速移动端原型制作方面有着明显优势,尤其适合初学者。其简洁易用的界面让用户上手容易,且能够直接在手机上演示原型,提供了更直观的体验。然而,相较于 Axure,墨刀在交互效果、控件组合和操作面板上稍显不足。交互效果的连线方式可能会让用户感到困惑,且自…

Linux-vim文本编辑器-三种模式-vim里的替换

1. vi 和 vim 命令是linux中强大的文本编辑器, 由于Linux系统一切皆文件,而配置一个服务就是在修改其 配置文件的参数。 vim 编辑器是运维工程师必须掌握的一个工具, 没有它很多工作都无法完成。 vim 其实是 vi 的升级版2. vim三种工作模式Vim编辑器中设置了三种模式: 命令模式…