Postman知识汇总
Postman 知识汇总
目录
- Postman 知识汇总
- **1.Postman简介:**
- **2.接口测试流程:**
- **3.接口测试执行**
- **4.全局变量和环境变量**
- **5.接口关联**
- **6.Postman动态参数**
- **7.断言**
- **8.用例的批量执行**
- **9.必须要带请求头的接口的测试方法**
- **10.Postman接口测试之Cookie鉴权**
- **11.接口加密(像银行之类的,一般是采用多种混合加密,自定义混合加密,就是几种混在一起)**
1.Postman简介:
Postman 是一款强大的接口测试工具,postman为用户提供强大的 Web API & HTTP 请求调试功能。postman能够发送任何类型的HTTP 请求( get、post、put、patch、delete )
2.接口测试流程:
3.接口测试执行
鉴权码:鉴权你是否有访问此接口的权限的一个字符串码。
获取鉴权码的方式:
1.有一个专门的获取token鉴权码的接口。
2.登录之后自动生成token鉴权码。
A. 功能的请求页签各模块详解:
Params - 在这里将编写请求所需的参数(多用于get请求传参),比如Key - Value。
Authorization - 为了访问api,需要适当的授权、鉴权(验证是否拥有从服务器访问所需数据的权限)。它可以是Username、Password、Token等形式。
Headers - 请求头信息
Body - 请求体信息,一般在POST中才会使用到
- none - 表示无参数
- form-data - 表示键值对( key - value)格式输入,也可以进行文件上传(主要特点),可以设置 content
-type(Http请求内容类型,如utf-8) - x-www-from-urlencoded - 表示键值对格式输入, 不支持文件传输,不可以设置 content -type。
- raw - 表示传各种其他类型的参数,如 text, javascript, json, html, application/xml
- binary - 表示只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件
Pre-request Script - 请求之前 先执行js脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试。
Tests - 这些脚本是在请求期间执行的。对于测试非常重要,因为它设置检查点(断言)来验证响应状态是否正常、检索的数据是否符合预期以及其他测试。
Settings - 最新版本的有设置,一般用不到。
B. 响应的功能页签:
Body - 查看响应内容模块,有三种查看方式: pretty, raw, preview
pretty -
以漂亮的模式去格式化响应的JSON或者XML,方便更好的去查看。在这个模式中响应数据内容中的链接是高亮显示并且可以点击去发送请求的。还可以点击下拉选项选择以什么方式去格式化响应的数据Raw - 仅仅是响应体的一个大文本,可以告诉你响应体是否压缩了
Preview - 网页格式, 在一个沙盒的iframe 中渲染响应的内容。一些web框架默认的返回错误的HTML,这时候Preview
是非常有用的。由于iframe沙盒的限制,JS和图片是不可以用的
Cookie - 查看响应的Cookie信息
Headers - 查看响应头
TestResults - 查看断言结果
Status - 查看响应状态码(200、404、502)
Time - 查看响应时间
Size - 查看响应字节数
补 - 面试题:接口测试中get请求和post请求的区别是什么?
1. get请求一般是获取资源,post请求一般是提交资源
2. get请求通过在地址栏中以 ?方式传参,多个参数以 & 分隔;post请求是通过表单传参。
3. post请求比get请求安全( GET 请求方式从浏览器的 URL 地址就可以看到参数)
4.全局变量和环境变量
环境变量:可切换当前使用哪个环境变量,让接口/代码在不同的环境里面执行。
全局变量:作用于postman所有的文件夹
http端口默认:80 ; https端口默认:443
注意:当“环境变量”和“全局变量”设置同一个变量时,优先走“环境变量”的设置;当环境变量没有设置该变量时,才走全局变量的设置
能够在所有的接口请求里面使用的变量叫做全局变量。
5.接口关联
注意:面试官常问问题:
1. 接口测试里面,接口关联式如何实现的?
2. 接口测试中如何实现上一个接口的返回值作为下一个接口的参数?
A. 在Test里面通过Js代码,去获取解析返回的响应内容(1.Json对象解析 ; 2.正则表达式提取) -----最终都设置到全局或者环境变量,供后面接口使用
B. 其他方法(获取响应头Headers 与 响应 Cookies 的值)
6.Postman动态参数
Postman内置动态参数:(凡是双大括号里面有 $ 符的都是内置动态参数)
1. {{$timestamp}} : 生成当前时间的时间戳。(不是万能的)
2. {{$randomInt}} : 生成0~1000之间的随机数 。
3. {{$guid}} : 生成随机的GUID的字符串。
自定义动态参数:
1.手动制造一个时间戳,达到动态参数效果(要赋予全局变量,调用的话跟全局变量调用方法一致)
7.断言
接口断言:对接口请求后的内容进行设置,如状态码、响应时间、响应头、响应正文等信息进行断言操作。在设置时会给定一个预期结果,在发送请求后会得到一个实际结果,如果两者结果一致,则认为是成功的,否则则会失败。方便捕获失败,分析原因。
状态码断言三个:
1.状态码断言:Status code:Code is 200
2.状态码字符串断言:Status code:Code name has string
这里就是通过字符串判断了,比如 “OK” 、 "NOT FOUND"等
3.状态码集合判断断言: Status code:Successful POST request
这里是判断返回状态码只要满足设定集群里的一个,就代表成功通过,如下,状态码只要满足是200、201、203其中一个就代表成功
响应正文断言三个:
1.响应正文包含某字符串断言:Response body:Contains string
这里由于得到的响应内容是text格式的文本,所以需要注意转为unicode编码,设置于加上 “\\”。
2.响应正文是Json格式正文断言: Response body:JSON value check
这里只适用于响应正文是Json格式类型才可以用,其他格式无法适用。
3.响应正文是否完全等于某一个值断言:Response body:is equal to a string
这里需要响应正文要完全等于某一个值才生效! 用法非常少,要各种转译,基本不用
响应头部Headers断言一个:
1.响应头部 是否包含某个Server(Key): Response headers:Content-Type header check
这里 断言只能去判断Key,比如 Server 、 Content-Type 、 Date等,没法判断 key 后的 value
响应时间断言一个:
1.响应时间:Response time is less than 200ms
这里多用于性能的参考,响应时间与用户体验性挂钩
8.用例的批量执行
有时候需要批量执行多个串联接口,可以如下所示,使用【Run collection】,采用数据驱动方式:csv,json
A.可以先创建数据文件(csv,json),csv如下:第一行为变量名,下面的为变量值,逗号分隔开来。
B.JSON如下: JSON格式数据驱动
C.修改接口/代码,去调用这些数据文件里面的变量。
调用分为两种:
- 在接口参数里面调用,与调用全局变量方法一致,采用: {{key}}
- 在断言里面取数据文件里面的值,采用:data[“key”]
D.配置【Run collection】,如下各配置项内容介绍,选择对应的数据驱动文件。执行,看结果。
9.必须要带请求头的接口的测试方法
常见请求头含义
10.Postman接口测试之Cookie鉴权
接口鉴权、接口加密、接口签名(金融项目、银行项目、信贷项目、特大型项目)
1.什么是Cookie?
Cookie是一些网站为了识别用户和跟踪会话而存储在用户本地终端中的文本数据,是一段文本数据,通常是加密的。
2.Cookie鉴权的原理:
3.Cookie分类:
会话Cookie:保存在内存当中,浏览器关闭之后会自动消失。
持久Cookie:保存在硬盘当中,浏览器关闭之后不会消失,只有当持久化的时间到期之后,才会消失。
4.数据格式:
- Name:cookie的名称
- Value:cookie的值
- Domain:cookie的作用的IP地址
- path:cookie所在的服务器上面的项目的路径
- Expires:cookie失效时间,session表示会话cookie,浏览器退出就失效;时间表示持久cookie,具体失效时间如下图
- Size:cookie的大小
11.接口加密(像银行之类的,一般是采用多种混合加密,自定义混合加密,就是几种混在一起)
Postman加密方式只能通过代码方式:
1.对称式的加密方式(私钥加密):不常用DES和AES,已经被淘汰了
现在可能更常用的是Base64加密
A. Base64:
1.Base64加密
2.Base64解密
2.非对称式的加密方式(双钥《公钥和私钥》加密):RSA加密方式
由一个密码生成的双钥,当用公钥去加密时,则用私钥解密;当用私钥去加密时,则用公钥解密
3.只加密,不解密
a.MD5加密。(32位大写、32位小写、16位大写、16位小写)
b.SHA1,SHA3,SHAN…
Postman知识汇总相关推荐
- java并发核心知识体系精讲_JAVA核心知识汇总
双非同学如何逆袭大厂? 在互联网行业,入行的第一份工作很大程度上决定了以后职业发展的高度.有些双非的同学认为自己校招进不了大厂以后还会有社招,这种想法很危险.大厂的社招,大多数都只招大厂的员工.什么意 ...
- 脑科学与脑电基础知识汇总
点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 脑科学与脑电基础知识汇总 该部分汇总了社区分享的部分脑科学.EEG.fNIRS.BCI.人机交互等相关知识. 脑电与情绪 ...
- python基础知识资料-Python基础知识汇总
原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
- 一楼二楼教师办公室图书馆操场计算机房,人教PEP四年级下册英语知识汇总.docx...
人教PEP四年级下册英语知识汇总.docx 还剩 14页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 人 教 PEP 四 年 级 下 册 Unit1 ...
- python初中必背语法_初中必背英语语法知识汇总
原标题:初中必背英语语法知识汇总 语法是中考英语考试必考点.语法知识掌握得好,将大大加快英语学习的进程.本文归纳了词法和八种基本时态,希望对广大初中学子有所帮助. 词法 名词 (1)名词的可数与不可数 ...
- 线性代数知识汇总(转载)
最近重新温习线性代数知识,发现一篇文章对线性代数知识点做了非常好的总结,记录下来,供以后查阅. 线性代数知识汇总_MyArrow的专栏-CSDN博客_线性代数
- java接口那一节是哪的知识_Java中的接口知识汇总
Java中的接口知识汇总 发布于 2020-4-29| 复制链接 本文给大家汇总介绍了在java中的接口知识,包括为什么要使用接口.什么是接口.抽象类和接口的区别.如何定义接口以及定义接口注意点,希望 ...
- Java 必看的 Spring 知识汇总
转载自 Java 必看的 Spring 知识汇总 Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途 ...
最新文章
- 在react hook里使用mobx(配置mobx依赖)
- 【全网之最】全网最简单语句判断网页是否在移动端(手机端、PAD)打开
- Linux下创建进程简介
- 全美第二的机器人项目核心数学课免费开放,院长亲自授课,作业讲义全同步...
- centos 中设置网卡等相关参数
- Maven项目设置仓库下载位置
- 【DSP开发】HyperLink 编程和性能考量
- P1980 [NOIP2013 普及组] 计数问题
- matlab定积分程序,[转载]Matlab数值积分程序集合【转载】
- 解决无法卸载vmware bridge protocol功能,错误0×8007007E
- 土方回填施工方案范本_土方回填施工方案.doc.docx
- oracle字符串分割和提取函数定义
- 重磅出炉!KCon 黑客大会 2019 演讲议题正式公布
- 使用Android Studio实现简单的计算器(已亲自实验通过)
- iOS——判断刘海屏
- 支持html5安卓手机浏览器,百度手机浏览器强劲内核 完美支持HTML5
- JavaScript 时间范围
- 腾讯会议开发工程师认证考试(理论)
- linux日志查看常见方法
- ESXi系统U盘做存储