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

news2024/12/23 23:34:43

文章目录

  • 一、Postman断言
    • 1、断言位置
    • 2、Postman的常用断言
    • 3、操作实例
  • 二、全局变量与环境变量
    • 1、二者区分
    • 2、设置全局变量
    • 3、设置环境变量
  • 三、Postman接口关联
    • 1、概念
    • 2、操作步骤
  • 四、批量执行测试用例
    • 1、操作步骤
    • 2、查看结果
  • 五、读取外部文件实现参数化
    • 1、使用场景
    • 2、操作步骤

一、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对象如下:

{
  "tokeninfo":{
    "token":"xxxx",
    "xxx":"xxx"
  }
}

(2)在前置接口中保存要传递的数据于全局变量/环境变量中
在Test标签里编写代码如下:

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)选择数据文件批量执行
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云服务器远程nacos服务注册失败/不健康Client not connected, current status:STARTING

文章目录 Nacos报错docker安装不用 docker安装 Nacos报错 docker安装 使用docker在云服务器安装Nacos之后出现Client not connected, current status:STARTING 使用docker 安装之后需要添加映射端口 docker run -e JAVA_OPTS"-Xms256m -Xmx256m"-e MODEstandalone…

7.24 作业

1.自己封装vector template<typename T> class Myverctor {T* first;T* last;T* end; public:Myverctor():first(NULL),last(NULL),end(NULL){}Myverctor(int num,T data):first(new T[num]){last end first num;for(int i 0;i<num;i) first[i] data;}Myverctor…

【ROS2 Foxy】Rviz2 不支持可视化压缩图像消息

这里我通过订阅话题&#xff0c;压缩图像消息是存在的&#xff1a; ros2 topic echo /hk_camera/rgb/compressed从官方代码库的 issue 中了解到&#xff0c;在 Foxy 版本的 Rviz2 是不支持压缩图像消息的可视化的&#xff0c;现在 Foxy 也已经停止维护了&#xff0c;以后更不太…

redis 1

shell 1&#xff1a;安装1. 源码安装&#xff08;CENTOS&#xff09; 2.999:可能会出现得问题1. 编译出错 1&#xff1a;安装 1. 源码安装&#xff08;CENTOS&#xff09; 官方下载源码包 wget https://download.redis.io/redis-stable.tar.gz # 安装依赖 yum install gcc解压…

node 版本管理器 nvm

文章目录 一、卸载node二、nvm 下载三、nvm 安装四、检测环境变量是否一致五、nvm常见问题 一、卸载node 打开cmd命令行窗口&#xff0c;输入npm cache clean --force 回车执行 打开控制面板&#xff0c;在控制面板中把Node.js卸载 二、nvm 下载 nvm全英文也叫node.js ve…

7.25 Qt

制作一个登陆界面 login.pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on …

cocosCreator 之 ScrollView

版本&#xff1a;3.4.0 参考&#xff1a;ScrollView组件 简介 ScrollView组件作为滚动容器来使用&#xff0c;它的实现通过ScrollBar组件来展示内容的位置和Mask组件显示指定区域&#xff0c;来保证有限的区域内显示更多的内容。 它的构成部分&#xff1a; ScrollBar滚动条相…

3、Winform表单控件

在学习了布局控件之后,我们就该学习表单控件了。 程序的本质=输入+处理+输出。在Winform程序角度,这里的输入输出就可以用我们的表单控件来实现。 表单控件大致可分为两类,选项控件和文本控件。 文本控件 文本控件常用的有两种,分别是TextBox和RichTextBox TextBox T…

01 矩阵(力扣)多源广度优先搜索 JAVA

给定一个由 0 和 1 组成的矩阵 mat &#xff0c;请输出一个大小相同的矩阵&#xff0c;其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 输入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff1a;[[0,0,0],[0,1,0],[0,0,0]] 输入…

修改小说阅读器

感谢这个作者的插件&#xff1a;https://ext.dcloud.net.cn/plugin?id2485 1. 搬入后page TypeError: Cannot read property page of undefined 该问题已经解决&#xff0c;有两种方法。第一种&#xff1a;直接注释掉 &#xff0c;第二种 修改为vue3的方式 // 取消ios左滑返…

数据结构和算法一(空间复杂度、时间复杂度等算法入门)

时间复杂度&#xff1a; 空间复杂度&#xff1a; 时间比空间重要 递归&#xff1a; 递归特征&#xff1a; 递归案例&#xff1a; 汉诺塔问题&#xff1a; def hanoi(n,A,B,C):if n>0:hanoi(n-1,A,C,B)print("moving from %s to %s"%(A,C))hanoi(n-1,B,A,C)hanoi…

java中的动态代理机制

目录 什么是动态代理&#xff1f; 为什么需要代理&#xff1f; 代理长什么样子&#xff1f; 代码样例 什么是动态代理&#xff1f; 动态代理可以无侵入式的给代码增加功能 为什么需要代理&#xff1f; 对象如果嫌弃身上的事情太多&#xff0c;就可以通过代理来转移部分的…

STC12C5A系列单片机内部 EEPROM 的应用

参考范例程序。 eeprom.c #include "eeprom.h"/*---------------------------- Disable ISP/IAP/EEPROM function Make MCU in a safe state ----------------------------*/ void IapIdle() {IAP_CONTR 0; //Close IAP functionIAP_CMD 0; …

vue中Swiper动态渲染swiper-slide后轮播图呆滞划不动的问题

因项目开发中很多都有用到轮播图的地方&#xff0c;然后选择用了swiper&#xff0c;记录一下&#xff0c;之前一直没有发布这个文章&#xff0c;现在官方好像已经优化了这个问题。 下载引入&#xff0c;具体参考官方文档Swiper演示 - Swiper中文网 问题描述&#xff1a;在图片…

HiVT、VectorNet运动预测方法分析

1. VectorNet原理 基于DL的运动预测方法有基于渲染的方法和基于坐标点编码的方法&#xff1a;基于渲染的方法通过将交通要素渲染成一张特征图&#xff0c;再基于CNN等网络对特征进行学习&#xff0c;实现目标对象未来轨迹预测。基于交通要素渲染成特征图方法存在CPU算力需求大…

MySQL语句通过腾讯云数据库智能管家的性能与语法优化

最近公司项目迁移至腾讯云&#xff0c;用的腾讯云MySQL服务器&#xff0c;MySQL负载一直很高&#xff0c;借助云管家优化了一部分SQL语句&#xff0c;提升了部分性能和释放了部分&#xff0c;MySQL内存占用

redis(10):spring+redis+mysql缓存实现

1 新建spring项目 2 修改pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mav…

IOC学习笔记(上篇)

IOC学习笔记&#xff08;上篇&#xff09; 目录 IOC容器的职责Ioc容器的实现传统IoC容器的实现依赖查找VS依赖注入构造器注入VS Setter注入面试题 1. 什么是IOC&#xff1f;2. 依赖查找和依赖注入的区别3. Spring作为IOC容器有什么优势 学习视频地址&#xff1a;https://ti…

10分钟搭建链路追踪平台

随着项目越来越多&#xff0c;相互调用越来越复杂&#xff0c;搭建一个可视化的链路追踪平台显得尤为重要&#xff0c;今天给大家介绍的是zipkin&#xff0c;一个轻量级的零侵入的链路追踪平台&#xff0c;看我怎么10分钟给大家搭建出来。 1&#xff0c;介绍 zipkin官网&…

Spring6——入门

文章目录 入门环境要求构建模块程序开发引入依赖创建java类创建配置文件创建测试类运行测试程序 程序分析启用Log4j2日志框架Log4j2日志概述引入Log4j2依赖加入日志配置文件测试使用日志 入门 环境要求 JDK&#xff1a;Java17&#xff08;Spring6要求JDK最低版本是Java17&…