接口测试—Postman详解

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

一、为何使用postman

postman是一款简单高效的接口测试工具,能够很方便发送接口请求,易于保存接口请求脚本,postman提供接口响应数据比对功能,可以设置预期结果作断言,还能把测试用例放在一个集合中批量执行,比如每个环境可以看作一个集合,方便不同环境接口请求信息的管理和执行,工作中写接口自动化测试脚本时,也可以用postman工具调通接口再去实现自动化测试代码。

二、postman下载安装

官网下载地址:https://www.postman.com/downloads/

官网会自动判断用户使用的是MAC,还是Windows系统,然后提供下载选项。

下载后生成一个exe可执行软件,直接点击安装,桌面会生成一个快捷键,打开后出现postman操作界面:

三、postman常用功能

1. new按钮功能介绍

可以新建一个接口请求、测试集合、环境配置信息等,使用的时候我们可以一个集合对应一个环境,然后在集合里面建接口请求信息

以集合为单位运行下面所有接口:

2. 新增接口请求

选择一个集合>鼠标右键>新增请求

接口请求方法,根据开发的接口文档来选择某一个接口的请求方法,常用的是get和post

2.1 添加鉴权

我们系统通常都做了鉴权,这样不是谁都能访问到我们系统中的接口,增加安全性。常见的鉴权有:cookie、session、token 三种方式(文尾有对三者进行介绍)

2.2 发送请求

  

上传文件接口,选择from-data>key输入框展开右边下拉框选择file>value栏出现上传文件按钮:

3. postman导入、导出

3.1 postman支持测试脚本导入,方便脚本移植,应用场景:可以在浏览器开发者工具(F12),选中某个接口,copy>copy as Curl(bash),打开postman>点击Import按钮>选择Raw text>文本框中粘贴接口请求内容>点击Continue,至此一个待测接口就添加好了。

3.2 postman接口测试脚本导出,选择测试集合>鼠标右边>选择export:

四、postman设置断言

断言就是实际结果和预期结果做对比,如果一致则测试用例执行通过(pass),反之测试用例执行失败(fail),如图切换到断言设置,选择断言方法,点击Send按钮执行接口请求,便能获取到断言结果了。

五、补充知识点

1. 关于get和post的区别:

(1). 一般get方法做查询操作,post做新增、更新操作(关于删除,通常我们系统都是做逻辑删除、而不是物理删除,只需要更新数据状态就可以了,所以用的还是post请求)

(2). 如果是get请求,一般带有请求url参数,放在问号?后面,参数与参数之间用&符号隔开;如果是 post请求,则不会在路径后面加参数,而是在请求体中用key-value键值对的方式组装参数。

(3). get提交有数据大小的限制,一般是不超过2KB,而post理论上默认是没有限制

(4). get方法直接把参数暴露在url中,比如web端系统,在浏览器地址栏就能看见参数,安全性较低

2. 关于cookie、session、token的含义:

(1). cookie:cookie由服务器生成,发送给浏览器,浏览器把cookie信息以key-value形式存储到某个目录下的文本文件中,下一次请求同一网站时会把该cookie发送给服务器

(2). Session:从字面上讲就是会话,我们和某个人交谈的时候怎么知道他是张三而不是李四,对方肯定有某种特征证明他是张三。服务器要知道当前发给自己请求的是谁,为了做区分,服务器要给每一个客户端分配不同的身份标识,然后客户端每次向服务端发送请求时,都要带上这个身份标识。客户端A访问服务器,服务器存储A的数据value,把key返回给客户端A,客户端A下次带着key(Session ID)来访问服务器,服务器就能给出客户端A的数据。

(3). token也称作令牌,由uid+time+sign+...方式组成,是一种服务端无状态的认证方式,非常适合于REST API的场景,所谓无状态指服务端并不会保存身份认证相关数据。

3. 关于cookie、session、token的区别:

3.1 cookie和session的区别

数据存放位置不同:cookie存放在客户端,session存在服务器上的,
安全程度不同:cookie存放在客户端,别人可以根据客户端cookie进行cookie欺骗,session存放在服务端相对安全,考虑安全性应使用session
性能使用程度不同:session放在服务器上,访问太多会占用大量服务器资源,考虑性能方面应使用cookie 
数据存储大小不同:单个cookie保存的数据只有几Kb,session存储在服务端,根据服务器大小来定
3.2 token和session的区别

token是开发定义的,session是http协议规定的
token不一定存储,session存在服务器中
token可以跨域,session不可以跨域,session是与域名绑定的

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

【2024年最新版】字节大佬一周讲完的自动化测试教程,挑战15天学完就业,从入门到实战,少走99%的弯路!

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

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

相关文章

论文速览 | MobiSys 2018 | AIM: 通过智能手机实现声学成像 | AIM: Acoustic Imaging on a Mobile

无线感知/雷达成像部分最新工作<持续更新>: 链接地址 注1:本文系“无线感知论文速递”系列之一,致力于简洁清晰完整地介绍、解读无线感知领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI, SenSys, Ubicomp; JSAC, 雷达学报…

我的NPI项目之Android 安全系列 -- Keymaster到底是个什么

最近因为一直在调研独立secure element集成的工作&#xff0c;不巧的是目前使用的高通平台只有NFC-eSE的方案。高通目前也并不支持独立的eSE集成&#xff0c;codebase中并无相对应的代码。举个例子&#xff0c;目前使用的STM的一款eSE&#xff0c;但是这款eSE的开发STM还没有完…

TQ15EG开发板教程:创建运行petalinux2019.1

工程网盘链接&#xff1a;https://pan.baidu.com/s/1vFRpzmbifXt7GypU9aKjeg 提取码&#xff1a;0ylh 首先需要使用与petalinux相同版本的vivado创建工程&#xff0c;与之前不同的是在创建硬件设计时需要勾选上添加bit文件&#xff0c;所以要在生成bit文件之后再创建硬件设计…

【和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告

【&#x1f40b;和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告 文章目录 【&#x1f40b;和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告1 业务背景2 数据说明3 数据探索性分析4 用户行为分析4.1 用户属性与行为关系分析4.2 转化行为在不同用户属性群体中的分布…

基于springboot+vue的物流管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

#include “stdafx.h“代码的位置,导致编译通不过

1.先上代码: #include <iostream> //std::cout #include <iterator> //std::distance #include <list> //std::list using namespace std;#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { list<int> mylist; …

R语言简介、环境与基础语法及注释

R语言简介、环境与基础语法及注释 一、R语言1.R语言简介2.R语言官网3.R语言中国的镜像网站4.R语言下载5.R语言的历史 二、R语言环境1.Windows安装1.1 去 R 语言下载的镜像站点的列表下载1.2 选择版本进行下载1.3 点击运行1.4 一路默认&#xff0c;安装完毕&#xff01; 2.Linux…

【IO】进程间通信

A程序代码&#xff1a; #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <string.h> int main(int argc, const char *argv[]) {if(mkfifo…

sql 查询

连续区域取数 select sid,min(b.eid) as eid from (select id2 as sid from txtTempTable where tc1 like Name*) as a, (select id as eid from txtTempTable where tc1Page) as b where sid<b.eid group by sid 16,18, 22,23 id tc1tc21617182223 两表对应关…

Tomcat部署及多实例(一)

一、Tomcat简介 1、简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的首选。 当在一台机器上配置好Apache 服务器&#xff0c…

Java 面试题

Java 基础 以下代码执行结果&#xff1f; 示例1&#xff1a; public static void main(String[] args) {int a 0;Integer b 0;String c "0";String d new String("0");change(a, b, c, d);System.out.println(a "|" b "|" …

https代理相对socks5代理有什么优势?

随着互联网的快速发展&#xff0c;代理服务已成为许多人在访问敏感或地理位置受限的网站时所依赖的工具。其中&#xff0c;HTTPS代理和SOCKS5代理是两种最常用的代理服务类型。本文将探讨HTTPS代理相对SOCKS5代理的优势。 1、安全性 HTTPS代理使用SSL/TLS协议对客户端和代理服…