如何用postman进行http接口测试?

HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直接拿来就用,而且功能还支持的不错的,我使用过的来讲,还是postman比较上手。

优点:

1、支持用例管理

2、支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能

3、支持批量运行

4、支持用例导出、导入

5、支持云端保存用例【付费用户】

可以说POSTMAN满足了HTTP接口测试的大部分功能,只有少部分的功能不被支持,比如:请求流程的控制;前面说了这么多,接下来我们就看看POSTMAN的安装与使用吧。

1、什么是POSTMAN

POSTMAN是一个Chrome的一个插件工具,我们可以通过Chrome的应用商店进行搜索并安装,安装完成会在桌面上显示一个postman的图标,每次点击这个图标就可以启动POSTNA的界面。

启动过后就是上面的界面了,左边是用来管理用例的目录结构,右边是具体某个用例的请求内容的参数及响应内容;默认的postman会自带一个demo的项目叫“POSTMAN Echo”,里面有各种场景的用例demo,对于新上手的同学可以通过查看这些demo用例来学习如何使用POSTMAN。

2、新建一个项目

直接点击左边栏上面的添加目录图标来新增一个根目录,这样就等于新建了一个项目,我们可以把一个项目或一个模块的用例都存放在这个目录之下,并且在根目录之下我们还可以在建立子目录来进行功能用例的细分,具体见下图。

2、新增一个用例

创建了项目目录后我们就可以新建用例了,具体是点击右侧区域的+号来新增一个空用例的模板,也可以通过复制一个已有用例来达到新建一个用例的目的,2种方法见下:

3、添加请求信息

新建的用例请求内容为空,我们需要添加相应的请求信息,这部分的操作都在右侧的信息区域,一般流程如下:

  1. 选择一个请求方法,如:get或post
  2. 填写请求的url,如:http://www.baidu.com
  3. 如果是get则请求参数直接写在url后,用?连接
  4. 如果是post则请求添加在body中
  5. 点击“send”发送请求
  6. 查看请求响应内容

4、post请求参数

post请求的主要的特点是把请求数据放在body中,而非url后

 

上面的样例是post方式传输普通参数,如果我们需要发送带文件的请求时,就要改下请求格式了,具体如下:

注意上面标红框的内容,都是必须要对应上。

5、添加头信息

有些时候请求时还需要一些特定的头信息,postman同样可以完美的支持,直接点击Headers标签就可以进行请求头的信息设置

 

6、预处理和结果检查

预处理主要是对一些环境变量之类的进行设置,相当于数据初始化;如图:

响应处理就是对响应结果进行分析和验证,比如检查code是不是200,内容是不是等于具体某个值,是否包含特定的值等等。

 因为预处理和结果检查都是使用js作为脚本语言,所以你还可以进行任意的js可以实现的场景,来辅助测试。

7、全局变量与环境变量

全局变量我们可以自己在预处理和结果处理2个脚本环境里进行赋值,在具体的测试数据里我们就可以直接使用,具体的使用方法是为:{{variable_key}};比如你在脚本中可以设置全局变量:

那么在用例数据项里面我就可以这样使用,{{username}},用来代表具体的tester值,具体见下图

而环境变量的设置可使用与全局变量基本一样,只是环境变量我们还有另外一个入口可以进行设置,那就是环境配置管理中,我们可以预先建立若干和与环境相关的一套变量,根据实际的测试需求在执行前选择对应的环境变量模板,这样可以快速切换测试服务器与线上服务器之前的环境差异。比如:配置2套环境变量模板,一套url是测试环境,另一套为线上环境,根据测试对象不同我们选择不同的环境变量模板就行了,而不再需要修改测试数据中的url了。

上面我们就把请求的host提取出来,然后在不同环境变量模板里使用不同的url值,后面我们就可以通过选择不同的环境变量模板来进行对应的请求测试

8、导出用例为代码

POSTMAN还有一个很赞的地方就是导出用例为CODE,即如果你编写好了用例之后可以通过点击“Generate  Code”来一键生成代码,并且还有好多语言和类库可以选择,帧的是棒棒哒!

9、批量执行用例

最后我们再来看看POSTMAN的批量执行功能,这个功能由单独的runner来负责的,我们需要在另外的界面进行操作,具体如下:

依次点击上面的按钮就会出现runer界面,如下直接点击“Start Test”即可

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python 安装对应版本的lxml

安装对应版本的lxml 先把对应版本的lxml文件下载下来,接着在文件夹路径输入cmd回车,用下面命令安装。

java设计模式-工厂方法模式

1.工厂方法(FactoryMethod)模式的定义 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。 2.工厂方法模式的主要优缺点 优点: 用户只需要知道具体工厂的名称…

数字海洋贸易:跨境电商的无边界冒险

数字时代的到来让商业舞台向全球开放,而跨境电商作为数字海洋中的一艘船,正在进行一场无边界的冒险。本文将深入探讨数字海洋贸易的概念,分析跨境电商在这个无边界环境中面临的挑战与机遇,以及如何在这个冒险中实现可持续的成功。…

【Java系列】详解多线程(二)——Thread类及常见方法(上篇)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一…

Git命令大全:从基础到高级应用

目录 一、增加/删除文件 1.1 添加文件到暂存区 1.2 添加所有文件到暂存区 1.3 从暂存区移除文件 1.4 从版本库和工作区删除文件 二、代码提交 2.1 提交暂存区文件到本地仓库 2.2 修改最后一次提交信息 三、本地分支 3.1 创建新分支 3.2 切换分支 3.3 创建并切换到新分支 3.4 删…

4G工业路由器物联网解决方案智慧储能系统

储能系统是用于电网和用户间起到电力缓冲和削峰填谷作用的电力管理平台。储能系统通常由电池、充电机、控制器、电能质量治理装置及监控系统组成。主要应用于可再生能源发电系统,电力需求侧响应,电动汽车充电等领域。 4G工业路由器是一款专门针对物联网…

Leetcode 46 全排列

题意理解: 首先明确全排列是什么? 使用集合里所有的元素,使用不同的顺序进行排列,所有的排列集合即为全排列。 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 这里的元素不会…

python程序编程代码大全,python编程代码详解

这篇文章主要介绍了python语言的代码书写规则有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 Python代码主要由:5个部分组成,下面就分别介绍&…

子目录文件夹图片汇总

import os import shutildef collect_images(source_folder, target_folder):# 遍历主文件夹及其所有子文件夹for root, dirs, files in

【论文精读ICCV_2023】BlendFace: Re-designing Identity Encoders for Face-Swapping

【论文精读ICCV_2023】BlendFace: Re-designing Identity Encoders for Face-Swapping 一、前言Abstract1. Introduction2. Related Work3. Attribute Bias in Face Recognition Models3.1. Identity Distance Loss3.2. Analysis of Identity Similarity 4. BlendFace4.1. Pre-…

linux下sys目录与proc目录的作用

sys目录作用 在Linux系统中,/sys目录是一个特殊的虚拟文件系统(sysfs),用于提供对内核和设备的运行时信息的访问。它是在内核中运行的驱动程序和子系统的接口,可以用于获取和配置系统的硬件和内核信息。 以下是/sys目…

uniapp原生插件之安卓虹软人脸识别增值版原生插件

插件介绍 虹软人脸识别增值版支持在线激活,离线激活,支持图片人脸识别(可识别网络图片),活体检测,离线识别,相机预览旋转,相机人脸识别,批量注册(支持网络图…

Spring(Spring/Springboot 的创建) 基础

一. Spring 1.1 Spring是什么? Spring 指的是 Spring Frameword(Spring 框架),它是一个开源框架。 Spring 是包含了众多工具方法的IoC容器。 1.2 什么是容器? 容器时用来容纳某种物品的装置。 我们之前接触到的容器: • List/Map ->…

MySQL基础笔记

MySQL 1. SQL1.1 SQL-DDL语句1.1.1 数据库操作1.1.2 表操作 1.2 MySQL-DML语句1.3 MySQL-DQL语句1.3.1 基本查询1.3.2 条件查询1.3.3 聚合函数1.3.4 分组查询1.3.5 排序查询1.3.6 分页查询 1.4 MySQL-DCL语句1.4.1 管理用户1.4.2 权限控制 2. 函数2.1 字符串函数2.2 数值函数2.…

事件相互独立

两个事件的情况 定义:假设A、B是两个事件,如果满足,那么就称这两个事件相互独立。 如果,那么A、B相互独立和互不相容不能同时成立。 互相独立意思是一个事件的发生跟另外一个事件是否发生没有关系。而互不相容的意思是两个事件…

你真的了解进程注入吗?

关注公众号回复20231110获取最新网络安全以及内网渗透等资料。 文章目录 关注公众号回复20231110获取最新网络安全以及内网渗透等资料。进程注入进程注入是什么?windows进程虚拟地址空间句柄Tokens线程数特权shellcode注入 进程注入 进程注入是什么? 攻…

《HumanGaussian: Text-Driven 3D Human Generation with Gaussian Splatting》

文章目录 前置知识:一、正文:二、方法 前置知识: \quad 1)SMPL(Skinned Multi-Person Linear)模型 \quad SMPL(Skinned Multi-Person Linear)模型是一种用于表示人体形状和姿势的三维…

随机变量的定义

试验E的样本空间为S,样本空间S中的元素记为e,即样本点是e,样本空间记成,表示元素组成的集合。 随机变量的定义:设随机变量的样本空间为,是定义在样本空间S上的实值单值函数,称为随机变量。 随机…

vue3+element-plus, 设置table表格滚动到最底部

当table设置heigh属性时, 希望表格添加行数时,能显示最后底部数据(即表格滚动条,滚动到最底部)解决方法 const tableListRef ref();let table tableListRef.value.layout.table.refs; // 获取表格滚动元素 let tab…

Java基础语法之继承

为什么要继承 会发现,狗和猫只有叫声不同,因为它们都是动物,会有相同的属性和行为,所以它们可以继承animla类 如何继承 用到extends关键字 这样就会简化好多 注意 1.Animal称为父类/超类/基类;dog,cat称…