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

文章目录

  • 一、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.tokenpm.globals.set("g_token",token);

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

四、批量执行测试用例

1、操作步骤

在这里插入图片描述
在这里插入图片描述

2、查看结果

在这里插入图片描述

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

1、使用场景

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

2、操作步骤

(1)准备测试数据文件

  • csv
    在这里插入图片描述
  • json
    在这里插入图片描述
    (2)设置参数
  • 在请求中使用,直接通过{{变量名}}引用
  • 在断言中使用时,需要借助postman内置的data方法来进行使用,如下图:
    在这里插入图片描述
    (3)选择数据文件批量执行
    在这里插入图片描述

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

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

相关文章

el-select多个选择框位置错位、偏移

el-select多个选择框位置错位、偏移 一、解决办法 在el-select组件中,可能会由于option选项过多而导致下拉框位置错乱、偏移的情况,我个人试验大概是在5-6个option以上时,该bug就会出现。 一、解决办法 这个时候需要手动为下拉框设置: popper…

调查需求合理呈现业务人员想要的数据维度视图

开始着手做一个单据,首先想到的是业务人员最终想看到的单据数据的呈现样式,这是信息化的出发点和数据分析的基础。业务人员工作有时很多是重复,以一个他喜欢的方式将需要的数据方便的提供给它,无疑改善方便了他的工作。我们发现不管你是一个家庭,还是一个店铺或是一个公司…

Vite+Typescript+Vue3学习笔记

ViteTypescriptVue3学习笔记 1、项目搭建 1.1、创建项目(yarn) D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh packages...success Installed…

2023-将jar包上传至阿里云maven私有仓库(云效制品仓库)

一、背景介绍 如果要将平时积累的代码工具jar包,上传至云端,方便团队大家一起使用,一般的方式就是上传到Maven中心仓库(但是这种方式步骤多,麻烦,而且上传之后审核时间比较长,还不太容易通过&a…

Python语法(二、内置函数)

数学计算库 Python ​math ​模块提供了许多对浮点数的数学运算函数。 Python ​cmath ​模块包含了一些用于复数运算的函数。 import math 内置函数 关键字 自定义函数 Python函数的定义。定义函数需要用def 关键字实现,具体的语法格式如下: def 函…

CAN学习笔记3:STM32 CAN控制器介绍

STM32 CAN控制器 1 概述 STM32 CAN控制器(bxCAN),支持CAN 2.0A 和 CAN 2.0B Active版本协议。CAN 2.0A 只能处理标准数据帧且扩展帧的内容会识别错误,而CAN 2.0B Active 可以处理标准数据帧和扩展数据帧。 2 bxCAN 特性 波特率…

Springboot实现Rsa非对称加密

依赖 <dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot-starter</artifactId><version>1.30.0</version> </dependency>生成公钥和私钥 // 生成一对公钥和私钥&#xff0c;其中Map对象 (private私…

部署问题集合(十八)Windows环境下使用两个Tomcat

下载Tomcat Tomcat镜像下载地址&#xff1a;https://mirrors.cnnic.cn/apache/tomcat/进入如下地址&#xff1a;zip的是压缩版&#xff0c;exe是安装版 修改第二个Tomcat配置文件 第一步&#xff1a;编辑conf/server.xml文件&#xff0c;修改三个端口&#xff0c;有些版本改…

3d激光slam建图与定位(1)_基于ndt算法定位

一.代码实现流程 二.ndt算法原理 一.该算法定位有三个进程文件 1.map_loader.cpp用于点云地图的读取&#xff0c;从文件中读取点云后对这个点云地图进行旋转平移后发布点云地图到ros #include "map_loader.h"MapLoader::MapLoader(ros::NodeHandle &nh){std::st…

Form1单例模式与互斥锁

一、使用mutex来解决。 如何让窗体Form1也是一个单例模式呢&#xff1f; 在窗体项目中找到Program.cs&#xff0c;双击。找到入口点&#xff0c;更改如下&#xff1a; [STAThread]private static void Main(){string mutexName "MyapplicatonMutexApp1121";usin…

【嵌入式Linux项目】基于Linux的全志H616开发板智能家居项目(语音控制、人脸识别、安卓APP和PC端QT客户端远程操控)有视频功能展示

目录 一、功能需求 二、开发环境 1、硬件&#xff1a; 2、软件&#xff1a; 3、引脚分配&#xff1a; 三、关键点 1、设计模式之工厂模式 2、wiringPi库下的相关硬件操作函数调用 3、语音模块的串口通信 4、线程 5、摄像头的实时监控和拍照功能 6、人脸识别 四、编…

网络互联究竟是需要什么协议相同,什么协议不同?

混淆概念的几个说法&#xff1a; 说法1&#xff1a; “以太网交换机不可以实现采用不同网络层协议的互联” 原因&#xff1a;以太网交换机是数据链路层的设备&#xff0c;不懂网络层的知识 说法2&#xff1a; “网桥可互联不同的物理层、不同的MAC子层以及不同速率的以太网”…

Spring Boot实践四 --集中式缓存Redis

随着时间的积累&#xff0c;应用的使用用户不断增加&#xff0c;数据规模也越来越大&#xff0c;往往数据库查询操作会成为影响用户使用体验的瓶颈&#xff0c;此时使用缓存往往是解决这一问题非常好的手段之一。Spring 3开始提供了强大的基于注解的缓存支持&#xff0c;可以通…

ios私钥证书的创建方法

ios私钥证书是苹果公司为ios开发者打包app&#xff0c;推出的一种数字证书&#xff0c;只有同一个苹果开发者账号生成的ios私钥证书打的包&#xff0c;才能上架同一个开发者账号的app store。因此不要指望别人给你共享私钥证书和描述文件&#xff0c;因为别人的证书和描述文件打…

Nginx下载、安装与使用

Nginx下载 简介&#xff1a; Nginx是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务&#xff08;邮件服务&#xff09;。 官网下载地址&#xff1a; https://nginx.org/en/download.html 国内镜像地址&#xff1a; https://mirrors.huawe…

基于RASC的keil电子时钟制作(瑞萨RA)(6)----定时器驱动数码管

基于RASC的keil电子时钟制作6_定时器驱动数码管 概述硬件准备视频教程选择定时器定时器做计数器配置定时器回调函数timer_smg.ctimer_smg.h演示效果主程序 概述 要想让每个数码管显示不同的数字&#xff0c;但是数码管必须依次地被持续驱动&#xff0c;数码管之间的刷新速度应…

【图论】Prim算法

一.介绍 Prim算法是一种用于解决最小生成树问题的贪心算法。最小生成树问题是指在一个连通无向图中找到一个生成树&#xff0c;使得树中所有边的权重之和最小。 Prim算法的基本思想是从一个起始顶点开始&#xff0c;逐步扩展生成树&#xff0c;直到覆盖所有顶点。具体步骤如下…

SpringBoot面试题及答案整理

1、什么是 Spring Boot&#xff1f; 多年来&#xff0c;随着新功能的增加&#xff0c;spring 变得越来越复杂。访问spring官网页面&#xff0c;我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目&#xff0c;我们必须添…

动脑学院Jetpack Compose学习笔记

最近b站学习了一下Compose相关内容&#xff0c;整理了相关笔记&#xff0c;仅供大家参考。 资源链接如下&#xff0c;象征性收取1个积分 https://download.csdn.net/download/juliantem/88125198

网络运维总复习结构

目录 前言 基础运维技能 3种常用的字符编码&#xff0c;编码间的切换 简述文件的操作流程&#xff0c;三个常用的文件操作方法 open函数中的mode参数表示什么&#xff0c;mode的四个取值 阐述配置文件的格式&#xff0c;解析配置文件主要用到哪个模块的哪个类&#xff0c…