全局变量&环境变量
postman内存环境变量和全局变量
- 环境变量:环境变量就是全局变量
- 全局变量: 可以在postman里任意接口里面请求访问的变量
获取环境变量和全局变量的值都可以通过:{{变量名}}获得
postman内接口关联
在控制台test内可以通过输入代码
var ww =JSON.parse(responseBody)
console.log(ww.message);
前面的ww表示在这个接口内,将接口的返回体转译为一个对象赋值给ww
pm.globals.set("aaa", ww.message);
这里的pm.globals.set就是将ww这个对象的message赋值给aaa
关于在postman里面设置全局变量,获得全局变量的命令完全可以通过右侧的这个命令来获取设置命令
内置动态参数&自定义动态参数
内置动态参数(没啥用):
{{$timestamp}}生成当前时间的时间戳
{{$randomInt}}生产1-1000的随机数
使用方法:在body里面输入{{$timestamp}}直接获得,此动态参数是postman内置的不需要提前设置
自定义动态参数:在pre-request Script里面先自己定义参数,通过全局变量设置为自定义动态参数
//手动获得时间戳
var times = Date.now();
//设置为全局变量
pm.globals.set("times",times)
然后再在Body内将自己定义的参数取出来
Postman断言方式
在test内添加断言
常用断言方式:
状态断言 Status code :Code is 200 检查返回的状态码是否为200
Response body:Contains string 检查响应中包括指定的字符串
Response body:Json value check 检查响应中其中的json值
Response body: is equal to a string 检查响应等于一个字符串
具体的断言操作:点击一下旁边的蓝色字体然后改一改参数就好了,可以在Test Results里面查看到断言返回的结果
自定义动态参数(全局变量)断言的方式:
pm.globals.get("times")
globals["times"]
globals.times
POSTMAN批量处理接口
在接口上面的这三个点里面点一下Run collection 然后将需要批量请求的接口勾上就好了
实战之使用Postman抓百度接口
首先我们先获得一个百度的接口
https://www.baidu.com/s?wd=壁纸
然后对postman进行get请求,随后我们发现获得的界面不能直接看到百度的内容(呜呜呜┭┮﹏┭┮)
上网搜了一下发现是请求头的问题,百度这些网站如果想要通过接口访问的话需要添加一个请求头
然后我们按F12在网页上随便抓取一个请求头
这里代码展示为:
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36
随后我们添加到postman中(Bulk Edit可以快速kv传值)
然后我们就能通过接口访问百度界面啦
POSTMAN的Mock Server服务器
POSTMAN的mock server 就是相当于自己在postman里面模拟一个系统服务器,后端的接口没有开发完之后,前端业务需要调用接口,这个时候我们可以自己模拟服务器(不过在postman里面需要登录才能使用这个功能),服务器不提供服务但是提供返回值
在mock server里面可以设置返回码以及返回的参数,text类型,kv类型,json类型都可以支持
token鉴权码和cookie之间的区别
Token 鉴权码和 Cookie 都是用于身份验证和授权的方式,但它们之间有一些区别。
- 存储位置:Cookie 是存储在浏览器端的一段文本,而 Token 鉴权码通常是存储在服务端的数据库或者缓存中。
- 数据内容:Cookie 通常包含一些用户信息和会话信息,而 Token 鉴权码通常只包含用户的身份标识和权限信息。
- 安全性:Cookie 可以被浏览器保存,并在每次请求时自动发送到服务器,因此容易被恶意攻击者截获和伪造,而 Token鉴权码需要客户端在每次请求时手动携带,且可以使用加密算法保证安全性。
- 使用范围:Cookie 通常用于 Web 应用程序中,而 Token 鉴权码可以用于各种类型的应用程序中,包括 Web
应用程序、移动应用程序和 API。
总的来说,Token 鉴权码相对于 Cookie 更加安全、灵活,适用范围更广泛,但需要客户端进行手动携带,可能会增加一些开发复杂度。而 Cookie 则更加方便,但安全性相对较低。
一般来说对一个服务器想要进行请求,无论是get还是post,都要添加Cookie和X-Csrf-Token以及token请求头
那x-csrf-token是什么?
CSRF token(Cross-site request forgery token)是Web应用程序中一种防御CSRF攻击的重要机制。 当用户访问一个需要身份验证的页面时,服务器会为其生成一个随机的token值,并将其嵌入到表单中,该表单会被发送回服务器。
如果想要使用自动化用例的话,需要使用插件的形式随机获取由服务端生成的字符串