接口测试-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是与域名绑定的

一点帮助

最后基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源【免费】。

 

 


 

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

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

相关文章

【JavaWeb】9—监听器

⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍…

torchvision.transforms 常用方法解析(含图例代码以及参数解释)

本文代码和图片完全源于 官方文档: TRANSFORMING AND AUGMENTING IMAGES 中的 Illustration of transforms,参数介绍源自函数对应的官方文档。 代码中的变换仅仅使用了最简单的参数:pad,size 等,这里展现的只是简单的变换&#xf…

C/C++每日一练(20230408)

目录 1. 删除无效的括号 🌟🌟🌟 2. 合并K个升序链表 🌟🌟🌟 3. 四数之和 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 …

SQL Server用户定义的函数(UDF)使用详解

SQL Server用户定义的函数一、背景知识1.1、用户定义函数的优点1.2、函数类型1.3、指引1.4、函数中的有效语句1.5、架构绑定函数1.6、指定参数二、创建用户定义函数2.1、限制和权限2.2、标量函数示例(标量 UDF)2.3、表值函数示例2.3.1、内联表值函数 &am…

项目管理软件调度的优势有哪些?

如果没有项目时间表,要跟踪在何时以及必须使用哪些资源之前需要完成什么是非常困难和耗时的。时间表是一个时间表,它概述了所有项目任务和需要完成的里程碑的开始和结束日期。 项目进度中的任务将具有依赖性,这意味着如果完成数据在一项活动上…

Redis7高级之Redlock算法和Redisson的使用(十)

10.1 Redlock 红锁算法 1.解决手写分布式锁的单点故障问题 Redis 提供了 Redlock 算法,用来实现基于多个实例的分布式锁锁变量由多个实例维护,即使有实例发生了故障,锁变量仍然是存在的,客户端还是可以完成锁操作Redlock算法是实…

计算机网络考试复习——第一章 1.5 1.6

1.5 计算机网络的类别 1.5.1计算机网络的定义: 系统集合,连接起来,协议工作,资源共享 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如&#xff0…

Java源码(一)ThreadLocal、SpringBoot Jar 启动原理

思维导图 一、ThreadLocal 1.场景 项目采用SSMShiro登录认证,改造需求如下: 后台管理员登录需要限制,同一个用户的不同IP需要通过过自定义验证后才能登录。 2.问题 在完成需求后发现有管理员用户(这里就用A)通过验…

Android build.gradle配置详解

Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的。当我们创建一个Android项目时会包含两个Android build.gradle配置详解文件,如下图: 一…

区块链3链(TRC ERC BSC)授权持币生息源码

分享一款3链(TRC ERC BSC)授权持币生息源码、来自群友投稿的资源、据说是运营级的。简单的看了下没有问题什么大问题、有能力的可以拿来二开其他的模板。 搭建非常简单,教程就不写了、环境NGINX1.2PHP7.2MYSQL5.6TP默认伪静态 此类源码需要…

【Python】数学 - 用 Python 自动化求解函数 f(x) 的值

目录 1、缘起 2、求以下函数的值 3、代码清单 3.1、求解 f(0)、f(1)、 f(​编辑)、f(​编辑) 3.2、求解 g(0)、g(1)、g(​编辑)、g(​编辑) 3.3、求解 h(0)、h(1)、h(​编辑)、h(​编辑) 4、总结 1、缘起 Python 是一种强大的编程语言,它具有广泛的应用领域。…

Python模拟星空

文章目录前言Turtle基础1.1 Turtle画板1.2 Turtle画笔1.3 Turtle画图1.4 Turtle填色1.5 Turtle写字模拟星空模拟星球浪漫星空尾声前言 Python模拟星空,你值得拥有!uu们一周不见啦,本周博主参考网上大佬们的星空,给大家带来了属于…

C语言操作符优先级

在平时写代码时,经常会用到操作符,但是如果不了解这些操作符的优先级,可能会让程序的执行效果和我们预期的不一样。 例如: int a 2;int b 3;int c 4;//int ret a b * c;//我们想要执行的顺序是ab的值再乘c//如果了解操作符优…

chat GPT人工智能写论文-怎么用chatGpt写论文

用chatGPT写文章会重复吗 使用 ChatGPT 写文章可能会出现重复的情况。因为 ChatGPT 是基于机器学习的自然语言处理技术,它并不具备人类的创造性思维,其生成的文本内容是基于已有语言数据的统计模型而产生的。 当输入信息重复、语言结构复杂或指定主题较…

【测试】《软件测试》阅读总结

第一章 软件测试的流程是什么? 需求分析--------测试计划----------测试开发--------测试执行-------测试报告 如何描述一个BUG 版本,测试环境、测试步骤和测试数据、实际结果、预期结果、附件(截图、错误日志) 软件测试过程包括…

HashMap,HashTable和ConcurrentHashMap之间有什么区别?

前言 在之前HashMap的学习中,我们可以知道HashMap是线程不安全的数据结构,它存储的一般是数据的键值对(Key-Value模型),其中Key允许为null,它底层是数组链表的实现,当单个链表的数据元素过多时,会转变为红黑树,在多线程环境下,对某个HashMap对象进行操作,是无法保证线程安全的,…

代理服务器与CDN的概念

代理服务器 特点:本身不产生内容,处于中间位置转发上下游的请求和响应 面向下游的客户端:它是服务器面向上游的服务器:它是客户端 正向代理:代理的对象是客户端 隐藏客户端身份绕过防火墙(突破访问限制&am…

今天面了一个来京东要求月薪25K,明显感觉他背了很多面试题...

最近有朋友去京东面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

LeetCode-146. LRU 缓存

目录LRU理论题目思路代码实现一代码实现二题目来源 146. LRU 缓存 LRU理论 LRU 是 Least Recently Used 的缩写,这种算法认为最近使用的数据是热门数据,下一次很大概率将会再次被使用。而最近很少被使用的数据,很大概率下一次不再用到。当缓…

把ChatGPT接入我的个人网站

效果图 详细内容和使用说明可以查看我的个人网站文章 把ChatGPT接入我的个人网站 献给有外网服务器的小伙伴 如果你本人已经有一台外网的服务器,并且页拥有一个OpenAI API Key,那么下面就可以参照我的教程来搭建一个自己的ChatGPT。 需要的环境 Cento…