【Postman】Postman接口测试进阶用法详解:断言、全局与环境变量、关联、批量执行用例、读取外部文件实现参数化

文章目录

一、Postman断言

1、断言位置

  • Postman断言使用JavaScript语言编写,写在Postman的【Tests】 标签中。
  • 【Tests】中的脚本在发送请求之后执行,它会把断言的结果(PASS/FAIL)最终在【Test Results】 标签页中。

2、Postman的常用断言

  • 断言响应状态码是否为200(Status code is 200)
  • 断言响应体JSON数据校验(Response body:JSON value check)
  • 断言响应体是否包含指定字符串(Response body: Contains string)
  • 断言响应体是否等于指定字符串(Response body:Is equal to a string)
  • 断言响应头是否包含指定的头信息(Response headers: Content-Type header
    check)

3、操作实例

二、全局变量与环境变量

1、二者区分

全局变量: 作用范围是针对postman下面所有测试集均生效。
环境变量: 只对选择了对应环境的测试集(开发环境、测试环境、生产/线上环境)生效,一套环境中变量不能重复、但是可以定义多个不重复的变量。

2、设置全局变量



3、设置环境变量



三、Postman接口关联

1、概念

后一个接口的请求需要依赖前一个接口的响应数据,一般通过全局变量或者环境变量来进行参数在接口之间的传递。

2、操作步骤

(1)观察前置接口的响应数据

假设返回的json对象如下:

javascript 复制代码
{
  "tokeninfo":{
    "token":"xxxx",
    "xxx":"xxx"
  }
}

(2)在前置接口中保存要传递的数据于全局变量/环境变量中

在Test标签里编写代码如下:

javascript 复制代码
var jsonData = pm.response.json()
var token = jsonData.tokeninfo.token

pm.globals.set("g_token",token);

(3)在后续接口直接使用保存的全局/环境变量

四、批量执行测试用例

1、操作步骤


2、查看结果

五、读取外部文件实现参数化

1、使用场景

针对单个接口、存在大量数据需要批量测试测试情况,我们将数据存放到外部的文件,然后postman通过读取外部文件来逐行执行脚本。

2、操作步骤

(1)准备测试数据文件

  • csv
  • json

    (2)设置参数
  • 在请求中使用,直接通过{{变量名}}引用
  • 在断言中使用时,需要借助postman内置的data方法来进行使用,如下图:

    (3)选择数据文件批量执行
相关推荐
2501_920931705 小时前
React Native鸿蒙跨平台采用ScrollView的horizontal属性实现横向滚动实现特色游戏轮播和分类导航
javascript·react native·react.js·游戏·ecmascript·harmonyos
Li_Spike6 小时前
黑盒测试方法以及测试网关步骤
功能测试
东东5166 小时前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino7 小时前
图片、文件的预览
前端·javascript
2501_920931708 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜
javascript·react native·react.js·游戏·ecmascript·harmonyos
AI老李9 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
方也_arkling9 小时前
Element Plus主题色定制
javascript·sass
2601_949809599 小时前
flutter_for_openharmony家庭相册app实战+我的Tab实现
java·javascript·flutter
Up九五小庞9 小时前
开源埋点分析平台 ClkLog 本地部署 + Web JS 埋点测试实战--九五小庞
前端·javascript·开源
摘星编程10 小时前
React Native + OpenHarmony:UniversalLink通用链接
javascript·react native·react.js