Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)

这篇具有很好参考价值的文章主要介绍了Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 在之前的文章中介绍过postman中的两个脚本——pre-request script或test script,在这两个脚本中都有使用到pm对象。(pre-request script详细介绍、Test script详细介绍)
  • pm对象是在postman的脚本中非常重要,也是十分常用的方法。
  • 本篇主要介绍pm对象的使用方法操作接口返回结果。

一、pm对象介绍

  • pm对象是Postman提供的可以在请求脚本中使用的JavaScript API。
  • pm对象提供对请求和响应数据以及变量的访问,使用pm对象可以对请求数据或响应数据的进行操作。

二、使用PM对象访问与操作响应数据(pm.response.*)

  • pm.response 对象可以在脚本中对返回结果进行访问。
  • **不同于pm.request,pm.response只能用于test脚本当中。**是校验请求结果正确性时一定会用到的方法。
  • 原因也很简单,pre-request脚本是在接口请求之前就运行的,此时接口返回响应结果。test脚本是在接口响应已经返回的情况下运行的,所以可以针对响应数据进行访问和操作。

下面内容涉及以下知识点:
(Test script详细介绍、console控制台详细介绍)

(1)接口响应状态与信息

  • 接口响应状态码
    pm.response.code 
    
  • 接口响应状态
    pm.response.status 
    
  • 接口响应时长
    pm.response.responseTime
    
  • 接口响应body大小
    pm.response.responseSiz
    
  • 接口响应总大小
    pm.response.size() 
    // 方法返回值示例:{body: 444, header: 336, total: 780}
    
  • 接口响应文件信息
    pm.response.contentInfo()
    
  • 在脚本中运行后,可以在控制台查看打印信息
    Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)

(2)接口响应头

  • 接口响应头

    pm.response.headers 
    
  • 访问响应头的方法与请求头类似,但是由于接口响应头是在接口请求完成时才能获取到,所以增删改的方法在访问响应头时并不常用。

  • 这里介绍一些常用的接口响应头的查询方法:

    • 返回所有响应头参数:
      pm.response.headers.all()
      
    • 获取响应头中某个参数的值:
      pm.response.headers.get("variable_key")
      
    • 判断响应头中某个参数是否存在:
      pm.response.headers.has("variable_key")
      
    • 响应头大小:
      pm.response.headers.contentSize()
      
    • 响应头列表长度:
      pm.response.headers.count()
      
    • 响应头列表(Object):
      pm.response.headers.toObject()
      
    • 响应头列表(string):
      pm.response.headers.toString()
      
    • 响应头列表(string):
      pm.response.headers.toString()
      
  • 方法比较多,就不一一演示了。可以参照示例,在postman中实际运行一下。
    Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)

  • 也可以使用内置方法对响应头头参数进行操作,感兴趣可以试一下:

    pm.response.headers.each(function(i) {console.log(i)}) //返回响应头列表里每一个参数
    console.log("返回某个位置的参数:",pm.response.headers.idx(0)) //传入整数,返回响应头参数列表中对应位置的参数
    console.log(pm.response.headers.filter({value: "application/json; charset=utf-8"}))//过滤器,根据条件返回对应的响应头参数。此方法的返回结果为数组,只要符合条件的参数都会返回。
    console.log(pm.response.headers.find({value: "application/json; charset=utf-8"})) //查找响应头参数,返回符合条件的参数。此方法只会返回第一个匹配的结果。
    

(3)接口响应body

  • 接口响应(字符串格式)

    pm.response.text()
    
    • 在之前的专栏文章中介绍过postman中也可以直接使用“responseBody”来调用接口响应,这种方法等同于pm.response.text()
      (Postman进阶篇(五)-实战:Test script解密接口返回结果(AES))
      Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)
  • 接口响应(json格式)

    pm.response.json()
    
    • 如果接口响应内容为json格式时,可以通过key访问接口参数,例如
      pm.response.json()["args"]
      
      Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)

三、运用示例

  • 因为pm.response的特性,pm.response在test脚本中非常重要,特别是在断言接口响应的正确性时,一定会用到这个方法。
  • 例如,检验接口状态码是否等于200:
    pm.test("接口响应状态码是否等于200", function () {
        pm.expect(pm.response.code).to.equal(200);
    });
    
    • 运行后可以在响应结果中的Test Results中查看校验结果
      Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)
  • 更多的使用示例可以参照专栏之前文章: Test script入门及校验接口返回值

附录:postman系列文章目录

本篇文章姊妹篇:
Postman进阶篇(十一)-在脚本中使用pm对象访问接口请求(pm.request.*)

零基础入门接口功能测试教程-目录

—————————————————————————————————
postman系列文章内所使用的示例文件已经上传到了本人运营公众号【软件测试必备技能】
Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)
有需要可点击文章下发二维码,前往领取~
Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)文章来源地址https://www.toymoban.com/news/detail-403465.html

到了这里,关于Postman进阶篇(十二)-在脚本中使用pm对象访问接口响应数据(pm.response.*)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Postman 脚本的奥秘:JavaScript 的内置对象和方法

    postman的前后置脚本中是完全支持 JavaScript 编写代码,JavaScript 有很多内置的对象和方法,可以帮助我们完成各种任务,比如生成随机数和测试响应数据 生成随机数 使用 Math.random() 方法来生成一个 0 到 1 之间的随机小数,比如: 生成一个指定范围内的随机数: 生成一个整数,

    2024年02月04日
    浏览(48)
  • Postman进阶(一):编写预请求脚本(pre-request scripts)

    1.点击集合中的任意一个接口 2.点击Pre-request Script,即可在此下方编写脚本 3.点击send,Pre-request Script下的代码将在Postman将请求发送到API之前执行 Postman中提供一些选项,点击一下,则会在Pre-request Script中生成对应的脚本,可根据自己的需求来编写脚本 点击集合中的任意一个接

    2024年01月25日
    浏览(51)
  • 如何用postman访问必须登录的接口

    正常情况下,没有登录验证等公共接口,用postman进行get或post请求都很方便,加上相应的参数就行。 但是 对于某些接口,可能需要先登录后才能请求 ,这时如果按正常的思路请求,可能就会被拦截了。 对于这种情况,可以通过以下方式: 如果是浏览器端,可以打开开发者模

    2024年02月11日
    浏览(47)
  • 面向对象进阶--接口2

    JDK8开始接口中新增的方法 接口中可以定义有方法体的方法(默认、静态)。 使用默认方法的作用:解决接口升级的问题。 接口中默认方法的定义格式: public default返回值类型 方法名(参数列表){} 接口中默认方法的注意事项: 默认方法不是抽象方法,所以不强制被重写。

    2024年01月23日
    浏览(34)
  • Postman进阶篇(二)-console控制台(查看接口日志、调试代码)

    如果你觉得这篇内容对你有所帮助,有所启发,我想邀请你帮我个忙: 关注我的公众号【软件测试必备技能】,经常会分享软件测试干货。 搜索公众号名称,或点击文章底部卡片即可加我。 ———————————————————————————————— 进入postm

    2024年02月02日
    浏览(73)
  • Springboot项目启动后浏览器不能直接访问接口,而postman可以访问?

    在云服务器上部署springboot后端时,项目启动后浏览器不能直接访问接口,而postman可以访问。这是当时困扰了我大半天的小问题,在我打开防火墙和阿里云安全组之后还是没解决。然后在网上搜了很多很多资料,以为是浏览器访问权限或者是https什么证书问题,到头来通过简单

    2024年02月21日
    浏览(51)
  • 项目实战-RuoYi后台管理系统-登录功能Postman接口自动化脚本分享

        先来回顾一下之前写过的关于RuoYi后台管理系统项目实战相关的几篇文章: 测试项目实战----RuoYi后台管理系统 项目实战-RuoYi后台管理系统-用户管理测试点设计 项目实战-RuoYi后台管理系统-登录相关接口分析 Docker搭建webdis用于提供api查询redis中的数据 项目实战-RuoYi后台管

    2023年04月20日
    浏览(46)
  • 【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 )

    对于 Room 框架 来说 , 使用 Java 语言 开发和使用 Kotlin 语言 开发 , 需要在 build.gradle 构建脚本 中进行不同的配置 , 主要有以下两个配置不同 : 应用的插件不同 ; 导入依赖库方式不同 ; 应用插件 应用的插件区别 : 如果使用 Java 语言开发 , 只需要导入 android 插件 ; 如果使用 Kotli

    2024年02月05日
    浏览(62)
  • 【Postman】Postman接口测试进阶用法详解:断言、全局与环境变量、关联、批量执行用例、读取外部文件实现参数化

    Postman断言使用JavaScript语言编写,写在Postman的【Tests】 标签中。 【Tests】中的脚本在发送请求之后执行,它会把断言的结果(PASS/FAIL)最终在【Test Results】 标签页中。 断言响应状态码是否为200(Status code is 200) 断言响应体JSON数据校验(Response body:JSON value check) 断言响应体

    2024年02月15日
    浏览(60)
  • 接口测试系列(二)Postman如何传递list、map对象等参数

    请求参数一般为简单文本text,包含基本数据类型,如数字和字符串,填写在Params页签下。发送请求时,将自动加在地址栏后方。 基本数据类型,只需要将相应的值填写在对应的value区域即可。内容类型需选择x-www-form-urlencoded。 内容类型需选择form-data,在key区域,需选择File类型

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包