前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《上海悠悠接口自动化平台》-2.extract 提取结果与validate 校验结果

《上海悠悠接口自动化平台》-2.extract 提取结果与validate 校验结果

作者头像
上海-悠悠
发布2023-01-03 13:25:39
3540
发布2023-01-03 13:25:39
举报

前言

当接口请求成功后,返回的内容,我们需要提取内容,并校验实际结果与预期结果是否一致。 平台可以支持3种方式提取结果

  • 1.body.key 方式根据属性点的方式提取,或者下标取值body.data.0.key
  • 2.支持jsonpath取值,复杂的json数据,可以用jsonpath取值
  • 3.支持正则取值,如果返回的不是json格式,可以用正则取值

根据属性取值

接口示例

代码语言:javascript
复制
GET http://127.0.0.0:7005/api/test/demo

{
    "code": 0,
    "msg": "成功success!",
    "data": [{
        "age": 20,
        "create_time": "2019-09-15",
        "id": 1,
        "mail": "283340479@qq.com",
        "name": "yoyo",
        "sex": "M"
    }, {
        "age": 21,
        "create_time": "2019-09-16",
        "id": 2,
        "mail": "123445@qq.com",
        "name": "yoyo111",
        "sex": "M"
    }]
}

可以直接通过body.codebody.msg 取到对应值

运行结果

如果想取出data 下第一个name 的值 ‘yoyo’ 于是表达式可以这样写

代码语言:javascript
复制
body.data.0.name

jsonpath取值

如果你熟悉jsonpath 取值,那么这里可以直接上手解析json数据

对于复杂的场景,我秒也可以轻松取值,比如: 取出data数据里面的name=”yoyo111” 的mail值‘123445@qq.com’

于是可以用到jsonpath的过滤器取值

代码语言:javascript
复制
$..data[?(@.name=='yoyo111')].mail

re 正则取值

如果返回的是 json 格式,用 jsonpath 取值完全够用了,有时候返回的不是json格式,比如返回一个html格式,这时候就需用到正则表达式取值

以访问我的博客为例https://www.cnblogs.com/yoyoketang/

我希望取到title的值, 于是可以直接写正则表达式

运行结果

extract 提取结果

extract 是提取返回结果,设置变量,方便后面的步骤引用变量,或者校验结果的时候引用

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 根据属性取值
  • jsonpath取值
  • re 正则取值
  • extract 提取结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档