Postman pm 对象 - 请求相关功能

pm 对象与请求相关的功能有以下几个:

  • pm.info info 对象包含与正在执行的脚本有关的信息。例如请求名称,请求ID和迭代计数;
  • pm.variables/pm.environment/pm.globals,变量管理;
  • pm.request,pm 内的 request 对象表示当前脚本所在的请求;
  • pm.response,response 对象表示当前脚本所在请求的响应结果;
  • pm.cookies,cookies 对象包含与请求域相关联的 cookie 列表;

pm.info

pm.info.eventName:String

获取当前环境名称。

console.log(pm.info.eventName);
/// 测试环境

pm.info.iteration:Number

返回当前是第几次运行迭代,必须要在 Collection 运行才会生效;

console.log(pm.info.iteration);
/// 0

pm.info.iterationCount:Number

计划运行的迭代总数。

console.log(pm.info.iterationCount);
/// 4

pm.info.requestName:String

返回当前请求名称,前提是请求已被保存到某个 Collection。

console.log(pm.info.requestName);
/// test login

pm.info.requestId:String

获取标识正在运行的请求的唯一 GUID。

console.log(pm.info.requestName);
/// c78dee07-399a-4885-bfcc-ca524e6114f6

pm.request

request 对象表示脚本所在的当前请求。对于 Pre-request Scripts,相当于即将要发送的请求,在 Tests 中时,相当于是已发送的请求。

请求对象包含以下面结构存储的信息:

pm.request.url:请求的 url

console.log(pm.request.url);
/// {host: [4], path: [3], protocol: "http"…}

pm.request.headers:请求 headers 列表,与 responseHeaders 不同的是返回的是数组且结构也有区别

console.log(pm.request.headers);
/// [{…}, {…}, {…}, {…}, {…}, …]

pm.request.headers.add(headerName:String):为当前请求添加指定的头部字段,当然没有添值。

pm.request.headers.add('xxx');
console.log(pm.request.headers);
/// [...{key: "xxx" value: ""}]

pm.request.headers.delete(headerName:String):删除指定的头部字段。

pm.request.headers.upsert({ key: headerName:String, value: headerValue:String}):以对象类型传入键值对的形式添加头部字段。但是要注意的是头部字段如果存在,不会再次添加只会更新其值。

pm.request.headers.upsert({'content-type': 'application/json'});

pm.response

The response details are stored in the following format:

pm.response.code:Number:返回状态码

console.log(pm.response.code);
/// 200

pm.response.reason():Function → String:状态码描述

console.log(pm.response.reason());
/// OK

pm.response.headers:HeaderList:响应头列表

console.log(pm.response.reason());
/// [{…}, {…}, {…}, {…}, {…}, …]

pm.response.responseTime:Number:响应时间

console.log(pm.response.responseTime);
/// 54

pm.response.text():Function → String:以文本形式返回响应消息体 body 内容

console.log(pm.response.text());

pm.response.json():Function → Object:以对象形式返回响应消息体 body 内容,相当于对文本形式的内容做了 JSON.parse,但是要注意只针对 json 格式的响应结果。

console.log(pm.response.json());

pm.cookies

pm.cookies: 读取与当前请求域相关的所有 cookie 的列表

console.log(pm.cookies);
/// [{…}, {…}]

pm.cookies.has(cookieName:String):Function → Boolean:判断指定的 cookie 是否存在

onsole.log(pm.cookies.has('cookie_token'));
/// true

pm.cookies.get(cookieName:String):Function → String:获取指定的 cookie 的值

onsole.log(pm.cookies.get('cookie_token'));
/// 4c2d02e1...a21ae1f635d88623161

pm.cookies.toObject():Function → Object:以对象的形式获取所有 cookie 及其值(不包括 host, domain 等信息)。返回的 cookie 是与请求的域 domain 和 路径 path 一致的 cookie。

console.log(pm.cookies.toObject());
{{cookie_token: "aff62d5e...fcea38", phpsessid: "a9sun4...fek7"}

你可能感兴趣的:(Postman pm 对象 - 请求相关功能)