postman使用变量:web
以前咱们请求里面的主机地址都是localhost,表示本机。而在实际测试过程当中,服务器地址每每并不是是在本机上的,这时候就须要用到变量。算法
postman支持多个测试环境,一个环境里能够配置多个变量。数据库
postman的变量主要分两种类型:api
① 环境里面的变量浏览器
- 点击界面右上角的齿轮图标,选择Manage Environments 服务器
- 在弹出对话框中,点击Add按钮,填写环境名ENVIRONMENT NAME 、VARIABLE、CURRENT VALUE 如 :server1 serverip http://localhostcookie
- 这样一套环境就建立好了。建立好厚,就须要使用 能够将全部请求的url中的主机名localhost替换为为变量名{{server1}} 如 https://{{server1}}/api/pagenum网络
- 注意:双花括号将变量名括起来,双花括号就表示里面是一个变量。session
- 当进行测试时,若使用的是本机的API服务,那就选择名为server1配置的环境;若使用不是本地的,就选择server2的环境,postman就会使用不一样环境里面的变量对应的值。工具
② 全局变量
- 有时候,有些变量,咱们并不须要配置到不少套环境里,由于基本上这就是一个固定值,要修改的话,全部的环境里面都要修改。
- 咱们没有必要建立变量到环境中,能够建立一个全局变量,全局变量与咱们选择的环境无关。
- 点击界面右上角的齿轮图标,选择Manage Environments
- 在弹出对话框中,点击Globals,加入全局变量名和变量值 如:course_add {'name':'初中数学', 'desc':111, 'display_idx':1}
- 而后咱们能够在API请求的body中将参数的value值修改成用变量替代便可。如 {{course_add}}
HTTP抓包:
在进行接口测试时,咱们不免要用到fiddler工具来抓包:
http抓包,就会使用到fiddler。目前有两种抓包类型:
① 抓浏览器的包 咱们须要指定浏览器的代理。以Chrome浏览器为例,进入设置 === 高级选项 ===打开代理设置 ===勾选使用代理服务器设置地址和端口
② 抓手机上的包 一样须要在手机上设置代理。填入fiddler所在机器的IP地址和代理服务器端口(默认8888)。注意:电脑wifi和手机所链接的wifi应处于同一个网络环境。
这样配置好,就能够抓http包了。
另外若是想抓取https包,相应的须要下载fiddler证书将其导入浏览器中或手机上安装fiddler证书,才可抓取哦!
cookie和session:
作web api测试时,可能会接触到cookie和session。
cookie是咱们在访问一个网站时,一般由网站服务器返回的一种标记为cookie类型数据。要求咱们存储在浏览器所在电脑上。
之后每次访问本网站,浏览器都会在http请求中将该数据发送过来。
session也叫会话,某用户登陆后,服务端就会认为建立了一个会话session。另外一个用户登陆就会建立另外一个session。
为了标志不一样的会话,服务端后面生成一个叫sessionid的东西,标志此次登陆的全部后续http消息交互。
sessionid一般都保存在数据库中,而且咳哟存储该sessionid的一系列信息,如 用户名、权限等。
session一般用在web应用中,就是浏览器里面的网页应用。做为一种验证用户权限的机制:能根据sessionid,从而知道该用户是否有相应的权限访问相应的资源。
sessionid是如何返回给客户端的呢? --------
经过http响应里面的Set-Cookie头部信息,要求浏览器保存到cookie中。
随后,客户端每次访问同一个网站,都会将该cookie里面的内容放到http头部中,固然sessionid也在里面 。即Set-Cookie中存储了sessionid
因此服务端根据sessionid,到表中可以查到相应的记录,就知道了对应的是哪一个用户登陆。
总结:cookie主要用来存储用户的一些信息,存储在浏览器中
session机制利用了cookie的功能 sessionid存储在数据库中;session弊端就是:服务器有必定压力,性能上会有损耗。
token:是数据信息和验证信息的一串字节数据。而token是大家公司的业务服务器生成的。
- hash算法产生token
- 数据信息改变,验证信息也会改变,HMAC算法
- 密钥 + data = HMAC
生成的token包含了别人没法伪造的验证数据,能够用来验证这个token是不是我这个业务服务器生成的。
token验证的逻辑以下:
1 - 客户端发送请求给服务器,服务器接收并验证后,产生一个token
2- token里面包含了一些关于这用户的数据信息以及验证token有效性的数据,服务器将token返回给客户端
3 - 客户端获得token后,之后每次业务请求都要带上token
4 - 一般放在http请求头Authenrization中,服务端接到请求,就会验证token是不是本身签发的。验证方法一样是hmac(密钥 + 数据)= 验证信息,计算出来验证信息和token里面的验证信息是否一致。
注意:公钥能够用来加密,私钥能够用来解密;私钥能够用来签名,公钥能够用来验证签名。
好处:一旦登录后,后续只要把请求带过来,验证经过。
token的优势:不须要经过数据库验证,极大的提升了速度
token使用场景:① 防止表单重复提交 ② 跨站点请求伪造