【Postman】ResponseHeader中提取cookie
实现接口自动化关键一步,将login中的cookie提取出来,设置成变量,为调用下一个接口做准备。
接口返回的Response Headers如下
Response Headers
Server: nginx/1.11.11
Date: Fri, 27 Nov 2020 08:53:29 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: private, no-store, no-cache, must-revalidate
Authorization: Bearer 311e8378-51c1-42e5-b1eb-5e056861ad81
Set-Cookie: Authorization=311e8378-51c1-42e5-b1eb-5e056861ad81; Path=/; HttpOnly; SameSite=Lax
Content-Encoding: gzip
直接在Tests模块写脚本如下
var jsondata = postman.getResponseHeader("set-cookie");//获取Response headers的set-cookie的值存在变量jsondata中
console.log(jsondata);//打印到console中,可以不打印,此处便于观察
data = jsondata.split(";");//分割获取的response headers存在变量data中
//split() 方法用于把一个字符串分割成字符串数组。
console.log(data[0]);//打印分割的数组的第一个值,此处便于观察,可以不打印
postman.setEnvironmentVariable("Cookie",data[0]);//提取数组变量data中的第一个值设置到环境变量Cookie中
console上打印出来的两组数据如下:
变量jsondata的值:
Authorization=311e8378-51c1-42e5-b1eb-5e056861ad81; Path=/; HttpOnly; SameSite=Lax
数组变量data的第一个值:
Authorization=311e8378-51c1-42e5-b1eb-5e056861ad81
所以最后环境变量cookie 的值为:
Authorization=311e8378-51c1-42e5-b1eb-5e056861ad81