详解Postman使用

简介: 1.简介 PostMan,一款接口调试工具。 特点: 可以保留接口请求的历史记录 可以使用测试集Collections有效管理组织接口 可以在团队之间同步接口数据

1.简介

PostMan,一款接口调试工具。

特点:

  • 可以保留接口请求的历史记录
  • 可以使用测试集Collections有效管理组织接口
  • 可以在团队之间同步接口数据

2.管理用例集

创建:

导出:

导入:

3.断言

3.1.概述

断言,让程序去判断预期结果和实际结果是否一致。

postMan的断言是使用JavaScript编写的,写在Tests标签里。

常用的断言有五个:

  • 判断响应状态码
  • 判断响应体是否包含某个字符串
  • 判断响应体是否等于某个字符串
  • 断言Json数据
  • 断言响应头

3.2.判断响应状态码

 
  1. pm.test("Status code is 200", function () {

  2. pm.response.to.have.status(200);

  3. });

3.3.判断响应体是否包含某个字符串

 
  1. pm.test("Body matches string", function () {

  2. pm.expect(pm.response.text()).to.include("test");

  3. });

3.4.断言JSON数据

 
  1. pm.test("Your test name", function () {

  2. var jsonData = pm.response.json();

  3. pm.expect(jsonData.value).to.eql(100);

  4. });

josnData.value指的是response的json中的key,如果是{"code":200},则应该写为jsonData.code,以此类推。

3.5.断言响应头

断言响应头中是否包含某个参数:

 
  1. pm.test("Content-Type is present", function () {

  2. pm.response.to.have.header("Content-Type");

  3. });

断言响应头中某个参数的值:

 
  1. pm.test("Content-Type is present", function () {

  2. pm.response.to.have.header("Content-Type","application/json;charset=UTF-8");

  3. });

4.全局变量和环境变量

4.1.概述

全局变量:全局唯一,不可重复的变量,全局都可以使用。

环境变量:PostMan支持定义多套不同的环境、在每套环境里面定义属于当前环境的环境变量。当切换到某个环境时才能使用这个环境里的环境变量。

4.2.创建环境

以下是创建一套环境的方法:

点击环境管理

点击新增

新增一套环境,新增时允许指定属于该套环境的环境变量。

创建完成后就可以使用了:

4.3.设置变量

全局变量和环境变量都是可以在界面上手动设置的:

进入环境管理:

支持手动设置全局或者环境变量:

当然也可以通过在tests标签来写代码实现。

全局变量:

pm.globals.set("name",value);

环境变量:

pm.environment.set("name",value);

4.4.获取变量

全局变量、环境变量都可以通过{{变量名}}来获取:

也可以通过在tests标签写代码来获取:

获取全局变量:

var value=pm.globals.get("name");

获取环境变量:

var value=pm.environment.get("name");

5.前置脚本

在Pre-request Script中可以书写请求前执行的脚本:

此处以向百度发送一个时间戳为例,在前置脚本中获取当前时间戳,设置进全局变量中,参数中再去获取该全局变量携带发送即可。

6.关联

当接口之间存在依赖关系,接口B要依赖于接口A的返回值时,就要用到PostMan的关联。

关联是使用环境变量、全局变量来实现的,接口A的返回值存入环境变量、全局变量中,接口B再去获取使用。

案例:

根据手机号获取所在地区,然后查询该地区的天气。

查看A接口的返回结果:

在Tests中通过js脚本来解析返回结果,将城市信息放到全局变量中:

然后再建一个请求,去请求B接口(天气接口),参数从全局变量中取即可。

7.批量执行

run之前支持配置一些参数,比如循环次数、间隔时间等。

8.测试报告

用newman可以基于postMan来生成测试报告,这里不展开了,想生成的时候直接去搜newman相关内容就行。

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

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

相关文章

Java实现自定义Hive认证账户密码

一、业务背景 在搭建好Hive环境后,应用项目远程连接hive需要设置用户名和密码,但hive默认的用户名和密码都是空,因此需要设置自定义用户名和密码。 二、开发步骤 2.1 新建maven项目,pom.xml引入相关依赖,主要是hadoop、…

Kafka MQ 如何处理请求

Kafka MQ 如何处理请求 元数据请求 客户端怎么知道该往哪里发送请求呢? 客户端使用了另一种请求类型,也就是元数据 请求。这种请求包含了客户端感兴趣的主题列表。服务器端的响应消息里指明了这些主题 所包含的分区、每个分区都有哪些副本,以及哪个副…

Spring Boot 中的 Sleuth 详解

Spring Boot 中的 Sleuth 是一个用于分布式追踪的库,它可以帮助你追踪和理解分布式系统中的请求如何跨越多个服务和网络调用。通过使用 Sleuth,你可以收集关于请求路径、延迟、异常等的信息,从而更容易地诊断问题并进行性能优化。 一、下面是…

源聚达科技:抖音今年开店有没有什么新政策

随着电商行业的蓬勃发展,抖音平台作为新兴的社交电商平台,近年来推出了多项新政策以吸引商家入驻,提升用户体验。今年,抖音在开店政策上又有了新的调整和优化,这些变化对于商家来说无疑是重要的风向标。 最新的政策中&…

海豚调度系列之:任务类型——Apache SeaTunnel

海豚调度系列之:任务类型——Apache SeaTunnel 一、Apache SeaTunnel二、创建任务三、任务参数四、任务样例1.在 DolphinScheduler 中配置 SeaTunnel 环境2.配置 SeaTunnel 任务节点 一、Apache SeaTunnel SeaTunnel 任务类型,用于创建并执行 SeaTunnel…

每天五分钟计算机视觉:图像数据不足带来的问题和解决办法

本文重点 在当今的数字时代,图像数据的应用已经渗透到各个领域,包括但不限于计算机视觉、机器学习、自动驾驶、医疗诊断等。然而,当图像数据不足时,会引发一系列问题,对相关应用产生负面影响。 尤其是计算机视觉领域,图像数据尤为珍贵和稀缺,如果计算机视觉的任务中,如…

算法的渐进时间复杂度

T(n) = O(F(n)) T(n):Time 渐进时间复杂度 O:正比例关系 F(n):代码执行次数 只要代码执行的次数越来越多 所耗费的时间也就越来越高 常见的5种: O(n^2) O(n logn) O(n) O(logn) O(1):不管重复多少次1次也是这个时间,10次也是这个时间。 时间复杂度排序:由小到…

【快捷部署】002_Flink(1.17.2)

Flink一键安装(本地模式) install-flink.sh 脚本内容 #!/bin/bash ####变量 ###执行脚本的当前目录 mydir$(cd "$(dirname "$0")";pwd) echo $mydir #flink安装目录 flink/flink #检查点目录 cp$flink/checkpoints/ #保留点目录 sp…

Java学习笔记(11)

面向对象进阶 Static 静态变量 所有对象一起共享,就用static修饰 不属于对象,属于类的 可以用 类名.静态变量 “”;赋值 但是 对象.静态变量也可以访问到内容 Static内存图 Student这个类的字节码文件加载到方法区,并在内…

计算机网络期末98+冲刺笔记

一、计算机网络基础 1.1计算机网络的概述 计算机网络的定义:利用通信设备和线路,将地理位置不同的具有独立功能的多台计算机机器外部设备连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息…

springboot整合swagger,postman,接口规范

一、postman介绍 1.1概述 工具下载 Postman(发送 http 请求的工具) 官网(下载速度比较慢):Download Postman | Get Started for Free 网盘下载:百度网盘 请输入提取码 1.2Http 请求格式 请求地址请求方法状…

数据结构入门篇 之 【双链表】的实现讲解(附完整实现代码及顺序表与线性表的优缺点对比)

一日读书一日功,一日不读十日空 书中自有颜如玉,书中自有黄金屋 一、双链表 1、双链表的结构 2、双链表的实现 1)、双向链表中节点的结构定义 2)、初始化函数 LTInit 3)、尾插函数 LTPushBack 4)、头…