首页 > 其他分享 >pytest + yaml 框架 -32.re 正则解析返回结果

pytest + yaml 框架 -32.re 正则解析返回结果

时间:2023-06-07 19:55:30浏览次数:62  
标签:200 .+ yaml 32 re validate eq 取值

前言

pytest-yaml-yoyo 插件可以支持3种表达式提取接口返回结果,jsonpath 和 jmespath 适合解析返回的json数据。
非json 数据的结果可以用re 正则表达式取值。

re 正则取值

访问我的博客地址https://www.cnblogs.com/yoyoketang/

test_re.yml 用例文件内容

# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/

test_yoyo_blog:
  name: re取值
  request:
    url: https://www.cnblogs.com/yoyoketang/
    method: GET
  validate:
    - eq: [status_code, 200]

结果返回

如果我想取出title 的内容 <title>上海-悠悠 - 博客园</title>

可以用正则取值 <title>(.+?)</title>

test_yoyo_blog:
  name: re取值
  request:
    url: https://www.cnblogs.com/yoyoketang/
    method: GET
  validate:
    - eq: [status_code, 200]
    - eq: ['<title>(.+?)</title>', 上海-悠悠 - 博客园]

运行结果

2023-06-07 19:42:17 [INFO]: validate 校验内容-> [{'eq': ['status_code', 200]}, {'eq': ['<title>(.+?)</title>', '上海-悠悠 - 博客园']}]
2023-06-07 19:42:17 [INFO]: validate 校验结果-> eq: [200, 200]
2023-06-07 19:42:17 [INFO]: validate 校验结果-> eq: [上海-悠悠 - 博客园, 上海-悠悠 - 博客园]

正则取值可以用固定的语法 .+?.*?

json 内容也可以正则取值

test_re2.yml

# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/

test_re2:
  name: re取值
  request:
    url: /api/test/demo
    method: GET
  validate:
    - eq: [status_code, 200]
    - eq: ['"code": (.+?),', '0']
    - eq: ['"msg": "(.+?)"', '成功success!']

运行结果

2023-06-07 19:46:28 [INFO]: raw text <--: {"code": 0, "msg": "成功success!", "data": [{"age": 20, "create_time": "2019-09
-15", "id": 1, "mail": "[email protected]", "name": "yoyo", "sex": "M"}, {"age": 21, "create_time": "2019-09-16", "id": 2,
 "mail": "[email protected]", "name": "yoyo111", "sex": "M"}]}
2023-06-07 19:46:28 [INFO]: validate 校验内容-> [{'eq': ['status_code', 200]}, {'eq': ['"code": (.+?),', '0']}, {'eq': ['
"msg": "(.+?)"', '成功success!']}]
2023-06-07 19:46:28 [INFO]: validate 校验结果-> eq: [200, 200]
2023-06-07 19:46:28 [INFO]: validate 校验结果-> eq: [0, 0]
2023-06-07 19:46:28 [INFO]: validate 校验结果-> eq: [成功success!, 成功success!]

json 数据的结果也可以用re 正则表达式取值。

标签:200,.+,yaml,32,re,validate,eq,取值
From: https://www.cnblogs.com/yoyoketang/p/17464399.html

相关文章

  • 机器学习-头饰20类-图像分类,头饰图像分类-Resnet50
    (一).选题背景:什么是图像分类?它有哪些应用场合?图像分类任务是计算机视觉中的核心任务,其目标是根据图像信息中所反映的不同特征,把不同类别的图像区分开来。从已知的类别标签集合中为给定的输入图片选定一个类别标签。它的难点在于:跨越“语义鸿沟”建立像素到语义的映射。还有就是......
  • vscode rest client
    安装略helloworld文档地址:https://marketplace.visualstudio.com/items?itemName=humao.rest-client文件后缀为.http或.rest一个文件有多个请求的话,用###分割如果有报错:HeadernamemustbevalidHTTPtoken,细看官网,则注意大小写content-typebody参......
  • JDK没有JAVAX.ANNOTATION.JAR包解决方案,无法使用@RESOURCE解决方案
    高版本JDK无法使用@Resource注解解决方案1.普通项目下载javax.annotation-api-1.3.2.jar,并在lib目录中引入即可2.Maven项目Maven项目:在pom.xml中进行配置<dependency><groupId>javax.annotation</groupId><artifactId>jsr250-api</artifactId><ver......
  • 第3天学习Docker-Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)
    前提须知:(1)搜索镜像命令格式:dockersearch镜像名(2)设置Docker镜像加速器详见文章:Docker设置ustc的镜像源(镜像加速器)1、部署MySQL拉取镜像(这里拉取mysql5.7版本)[root@localhost~]#dockerpullmysql:5.7创建容器(默认运行)[root@localhost~]#dockerrun-di--name=my_mysql-p330......
  • percona toolkit之pt-slave-restart使用
    介绍pt-slave-restart是一款mysql主从异常处理工具,监控replica端SQL_THREAD是否正常,如果异常pt-slave-restart尝试跳过导致错误的事务,然后重新启动SQL_THREAD已达到修复SQL_THREAD的目的。 测试MySQL主从复制source端mysql>select*fromt1;+----+-------+|id|name......
  • vmware批量迁移虚机
     #定义连接到Vcenter的信息$vc="vc.dk"$user="[email protected]"$password="Yi"#连接到VcenterConnect-VIServer-Server$vc-username$user-Password$password#定义需要迁移的虚机IP[array]$ips=gcD:\Operations\Scripts\vmmove.txt......
  • react+antd面包屑导航
    根据以前写vue面包屑写的。import{useLocation,matchRoutes,}from"react-router-dom";constlocation=useLocation();importrouterfrom'./router'useEffect(()=>{//router全部路由constmatched=matchRoutes(rout......
  • git clone出现remote error: Repository not found错误
    出现这种错误的时候,需要确定几件事情1.确定远端项目是否存在2.自己是否有gitclone权限3.查看自己的凭据是否正确主要说一下凭据查看 看一下自己的用户名和密码是否正确!!! ......
  • java面试(30)- redis
    1:Redis支持的数据类型a)字符串keyvalb)hashkeynamefiledc)listkeyv1v2v3v3d)setkeyv1v2v3d)zsetkeysv2:Redis支持的事务3:为什么redis快 4:redis的优缺点1、优点a)数据类型丰富b)支持数据......
  • redmine 迁移后邮箱配置
    https://blog.csdn.net/love8753/article/details/126380927步骤一修改配置文件步骤二redmine页面配置信息步骤一修改配置文件打开C:\Bitnami\redmine-3.3.0-1\apps\redmine\htdocs\config\configuration.yml,找到如下内容:address:一般为smtp+邮箱后缀名port:端口号,......