Postman 接口测试配置 Pre-request Script

简介: Postman 接口测试配置 Pre-request Script

本文为博主原创,转载请注明出处:

   Pre-request Script 为Postman预置脚本,用于在postman 发送请求之前执行,封装计算或获取某些请求参数。

  1. postman 脚本提供了一些默认封装好的对象和属性。

    整个请求对象为 postman 或 pm 。

    通过postman 或 pm 可以设置一些环境变量参数,可以动态获取。

pm.environment.set(key,value);   设置环境变量
pm.globals.unset("variable_key"); 清除全局变量
pm.environment.unset("variable_key");  清除环境变量
pm.globals.get("variable_key");      获取全局变量
pm.variables.get("variable_key");    获取一个变量
pm.environment.get("variable_key");      获取环境变量
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
    console.log(response.json());
});  发送一个请求
pm.globals.set("variable_key", "variable_value");  设置环境变量

  2. 通过 pre-request script 设置环境变量,并进行接口请求

  

 

  其中也可以添加console 打印调试日志。可以查看计算出来的参数值。

var timestamp = Math.round(new Date().getTime()/1000);
console.log("timestamp is "+ timestamp);
pm.environment.set("timestamp",timestamp);
// 构造一个注册请求
const regRequest = {
   url: 'localhost:8002/user/getNonce',
   method: 'POST', 
   header: 'Content-Type: application/json', //注意要在Header中声明内容使用的类型 
   body: { 
        mode: 'raw', // 使用raw(原始)格式 
        raw: JSON.stringify({ name: '小小', password: '123456' }) //要将JSON对象转为文本发送 
        } 
}; 
//发送请求 
pm.sendRequest(regRequest, function (err, res) {
    console.log("res == "+res); // 响应为JSON格式可以使用res.json()获取到JSON对象
    console.info(res);
    pm.environment.set("nonce", res.json().value)
 });

    上面脚本定义了一个 timestamp 的变量,并设置到环境变量中, 并将 请求 /user/getNonce 返回的值定义为nonce值,存储到环境变量中。

  如何使用预置脚本中的变量,通过 {{ }} 既可。调用如下:

示例中 pm.sendRequest 发送请求的格式为post 请求,请求体为json 格式。如果是 post form 请求时,更改 regRequest 中德mode 既可:


const regRequest = {
   url: 'localhost:8002/user/getNonce',
   method: 'POST', 
   header: 'Content-Type: application/json', //注意要在Header中声明内容使用的类型 
   body: { 
        mode: ‘urlencoded’,
        urlencoded: [{
            “key”: “grant_type”,
            “value”: “client_credentials”,
        }]
    } 
}; 
//发送请求 
pm.sendRequest(regRequest, function (err, res) {
    console.log("res == "+res); // 响应为JSON格式可以使用res.json()获取到JSON对象
    console.info(res);
    pm.environment.set("nonce", res.json().value)
 });

 

 如果是get 请求:

const url = 'http://localhost:5000/api/user/getToken/?appid=136425';
// 发送get请求
pm.sendRequest(url, function (err, res) { console.log(err ? err : res.text()); // 控制台打印请求文本 });

 


 

标签: tools

目录
相关文章
|
28天前
|
JSON Java 数据格式
使用postMan调试接口出现 Content type ‘multipart/form-data;charset=UTF-8‘ not supported“
本文介绍了使用Postman调试接口时遇到的“Content type ‘multipart/form-data;charset=UTF-8’ not supported”错误,原因是Spring Boot接口默认只接受通过`@RequestBody`注解的请求体,而不支持`multipart/form-data`格式的表单提交。解决方案是在Postman中将请求体格式改为`raw`并选择`JSON`格式提交数据。
使用postMan调试接口出现 Content type ‘multipart/form-data;charset=UTF-8‘ not supported“
|
29天前
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
52 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
|
7天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
16 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
12天前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
39 4
|
10天前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
27 1
|
12天前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
30 1
|
1月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
66 18
|
7天前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
39 0
|
1月前
|
JavaScript 测试技术
vue配置生产环境.env.production、测试环境.env.development
该文章介绍了如何在Vue项目中配置和使用不同的环境变量文件(.env、.env.production、.env.development)以适应开发、测试和生产环境,并通过修改`package.json`中的scripts来实现不同环境的打包。
161 0
vue配置生产环境.env.production、测试环境.env.development
|
16天前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
31 0