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

目录
相关文章
|
2月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
2天前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
14天前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
198 11
|
8天前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
32 4
|
30天前
|
XML Ubuntu Java
|
3月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
732 23
|
5月前
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
5月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
671 24
|
5月前
|
存储 前端开发 数据可视化
Postman vs. Apifox 用于 API 测试全面对比
寻找一款可靠的 API 测试工具?这份对比分析将深入探讨 Postman 和 Apifox 的功能和特性。了解哪款工具最适合您的 API 测试需求。
|
5月前
|
XML JSON 测试技术
如何使用 Postman 发送和测试 WebSocket
WebSocket 促进客户端和服务器之间通过单个持久连接进行实时、双向通信。 需要使用 Postman 建立 WebSocket 连接吗? 请查看我们简洁的循序渐进指南!