在对网站进行接口测试的时候,很多请求往往是需要带登录的cookie才能请求成功的,一般来说,可以用抓包软件(fiddler,浏览器的F12)来查看登录后的cookie,并把它设置到postman的环境变量中。
但这未免有的麻烦,我们可以直接在Postman里发送登录请求数据包,并将服务器返回的cookie设置为环境变量,之后的请求/接口测试就可以利用这个cookie。
1. 用抓包工具分析登录请求
在演示系统里输入账号密码,点击登录,查看fiddler 响应包的Cookies一栏
红框内即为服务器返回给浏览器的cookie
2. 在Postman中模拟登录请求,并获取这些cookie
在Postman中模拟请求并发送,查看cookies一栏,和抓包的结果一样
那么如何把服务器返回的cookie设置为环境变量呢?
set-Cookie里面包含多个键值对name,value,Domain,Path,Expires,而我们只需要cookie的值,所以在“postman.getResponseCookie”的后面还要加一个".value",可以使用以下代码获取
postman.getResponseCookie('zp').value
设置环境变量
pm.environment.set("zp",postman.getResponseCookie('zp').value);
3. 其他动态设置cookie的方法
var cookies = postman.getResponseHeader('set-cookie') ;
cookies = cookies.split(";");
pm.environment.set("cookies",cookies[0]);
但是这种方法没办法处理多个set-cookie的情况。