首页 > 其他分享 >httprunner 4.x学习 - 05校验(validate)

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

时间:2024-04-14 21:11:06浏览次数:33  
标签:username httprunner 05 less equals length validate eq than

前言

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: post
  variables:
    username: admin
  request:
    method: POST
    url: http://120.25.121.168:19001/api/login
    json:
      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: post
  variables:
    username: admin
  request:
    method: POST
    url: http://120.25.121.168:19001/api/login
    json:
      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"]

 

标签:username,httprunner,05,less,equals,length,validate,eq,than
From: https://www.cnblogs.com/quxue/p/18133243

相关文章

  • 《线性代数的本质》笔记(04-附注1-05)
    04-矩阵乘法与线性变换复合的联系问:如何描述连续两个线性变换?答:先左乘一个矩阵,再左乘一个。如果我们用一个矩阵来描述这个复合过程,那么这个矩阵应该等于两个矩阵的乘积,这就是矩阵的乘法。如何理解上图:把右侧矩阵M2看作看作第一次变换后的\(\hat{i}\)向量和\(\hat{j}\)向量,......
  • validate
    publicclassModelValidationMiddleware{privatereadonlyRequestDelegate_next;publicModelValidationMiddleware(RequestDelegatenext){_next=next;}publicasyncTaskInvoke(HttpContextcontext){if(!contex......
  • httprunner 4.x学习 - 04提取(extract)和校验(validate)
    前言支持2种响应结果字段提取方式:1.jmespath表达式:响应结果为JSON结构,采用jmespath表达式进行参数提取。参考教程https://jmespath.org/tutorial.html2.正则表达式(regex):返回的非JSON 格式,可以用正则表达式(regex)提取。需要具备一定的正则知识extract提取返......
  • 05_QT网络编程之TCP通信
    QT网络编程之TCP通信QT的网络编程:​ 网络编程有TCP和UDP。TCP编程需要用到俩个类:QTcpServer和QTcpSocket本节课目标:​ 完成一个TCP服务器和一个客户端。TcpServerwidget.ui<?xmlversion="1.0"encoding="UTF-8"?><uiversion="4.0"><class>Widget</class>......
  • MySQL 8 显示错误代码2058
    在使用mysql-uroot-P3307-proot和SQLyong连接MySQL时报错1.在MySQL8.3CommandLineClient登录点击查看代码Enterpassword:****WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis14Serverversion:8.3.0MySQLCommunitySer......
  • httprunner4.x学习03-变量
    前言声明变量和引用是经常用到的,引用变量方式有两种:$var或 ${var} 通过关键字variables 定义变量主要在config和step中,这两者的区别如下:1.在config中定义的变量为全局变量的,范围比较大,也就是整个测试用例(testcase)的所有地方都可以引用;2.在step中定义的变量为局部变量......
  • 2059:【例3.11】买笔
    2059:【例3.11】买笔时间限制:1000ms      内存限制:65536KB提交数:61425   通过数: 33243【题目描述】期末来临了,班长小Q决定将剩余班费x�元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为66元、55元和44元。小Q想......
  • EL1205 电子工程实践
    免责声明:本评估简报中提供的信息在发布时是正确的。在不太可能的情况下,任何变化如有必要,将通过电子邮件进行明确沟通,并分发新版评估简报。学年:2023/24评估简介:课程电子工程学士(荣誉)模块代码:EL1205课程名称:电子工程实践简报标题:设计与构建:RS232字符生成器评估类型:课程此评估包包括......
  • 2024/04/05 多校集训B层-省选模拟5
    T1魔法题面有\(n\)个小球排成一行,每个小球是红色或者蓝色。开始你被给定了两个非负整数\(R\)和\(B\)。每次你可以施展一个魔法,每次魔法你可以选择任意不同的\(R+B\)个球,将这些球全部变成白色,但是需要满足下列条件:你选择的\(R+B\)个球中,需要有恰好\(R\)个红球......
  • 实验2 C语言分支与循环基础应用编程 王刚202383310053
    1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#defineN55intmain()6{7intnumber,i;8srand(time(0));9for(i=0;i<N;i++)10{number=rand()%65+1;11printf("20238331%04d\n",number);12}13sy......