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

   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()); // 控制台打印请求文本 });

  

Postman 接口测试配置 Pre-request Script的更多相关文章

  1. #postman接口测试系列:基本操作总结

    最近项目需要接口测试,所以选择了不少工具对比,最终决定使用postman进行接口测试,这个工具目前使用比较简单,但是有点还是比较多的,如下: 方便切换不同的环境进行接口测试工作,而不用修改变量或代码 ...

  2. PostMan接口测试(很全面的接口测试教程)

    一:理论部分 1. 前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上 ...

  3. Postman 接口测试神器

    Postman 接口测试神器 Postman 是一个接口测试和 http 请求的神器,非常好用. 官方 github 地址: https://github.com/postmanlabs Postma ...

  4. Postman接口测试_基本功能

    一.   安装与更新 1.安装的方式 方式1:chrome插件版本:chrome--->设置--->扩展程序: 方式2:native版本(具有更好的扩展性,推荐使用):https://ww ...

  5. 【技术博客】Postman接口测试教程 - 环境、附加验证、文件上传测试

    Postman接口测试教程 - 环境.附加验证.文件上传测试 v1.0 作者:ZBW 前言 继利用Postman和Jmeter进行接口性能测试之后,我们发现Postman作为一款入门容易的工具,其内置 ...

  6. postman(九):postman接口测试脚本集成到jenkins

    本篇的目的是实现使用jenkins远程执行postman接口测试脚本 准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js.newman,部署好jenkins ...

  7. postman接口测试工具的常规使用

    目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...

  8. [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]

    [Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...

  9. Postman接口测试脚本编写规范

    Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...

  10. 静态文件相关配置、request请求方法、pycharm连接MySQL、orm

    静态文件相关配置.request请求方法.pycharm连接MySQL.orm 风得意马蹄疾,一日看尽长安花 一.静态文件相关配置 1.编写一个登录功能 1.创建一个django项目并创建一个app ...

随机推荐

  1. Chrome扩展的核心:manifest 文件(下)

    大家好,我是 dom 哥.这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星. 在上篇和中篇中已经完成了对 manifest 文件中以下字段的解释: "manifest_ ...

  2. LeetCode1806:还原排列的最少操作步数(置换群 or 模拟)

    题意:题目的意思是,给定一个初始状态perm,然后对perm的每个元素按照上述的规则进行变换操作.问:perm经过多少次这种操作能够变回初始的perm. 解题思路:第一种方法就是模拟,一直变换,直到变 ...

  3. Linux下安装不同python版本的虚拟环境

    使用的是virtualenv工具安装的虚拟环境. virtualenv是一个用来建立虚拟的python环境,通常情况下,可能会碰到各种python环境,但是只有一台电脑,virtualenv就派上用场 ...

  4. 介绍一款轻量型 Web SCADA 组态软件

    ​ 随着互联网.物联网技术的快速发展,图扑物联基于多年研发积累和私有部署实践打磨.以及对业务场景的深入理解,推出了适用于物联网应用场景的轻量型云组态软件. 该产品采用 B/S 架构,提供 Web 管理 ...

  5. AI量化策略会:可以直接上实盘的策略构建方法

    一年一度的培训虽晚但到,这是BigQuant与大家走过的第五个培训年头,在过去的四年里看到很多学员的成长和蜕变,从一开始的懵懂无知,到现在对深度学习的信手拈来,BigQuant与各位学员们一样都收获颇 ...

  6. Ubuntu 命令使用方法

    apt-get 用作于deb包 yum作用于tar包(也可以运作于rpm包) 首先用yum list wget检查一下你的虚拟机有没有安装wget,如果安装了下面图中会显示 @dvd ,我的没有安装所 ...

  7. DVWA File Inclusion(文件包含)全等级

    File Inclusion(文件包含) 目录: File Inclusion(文件包含) 前言 PHP伪协议 1.Low get webshell 本地文件包含 远程文件包含 2.Medium 3. ...

  8. Docker下的SqlServer发布订阅启用

    一.准备一个Docker的sqlserver #创建挂载数据文件夹 mkdir -p /home/mssql/data #创建挂载日志文件夹 mkdir /home/mssql/log #给文件夹权限 ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (174)-- 算法导论13.3 3题

    三.用go语言,假设图13-5 和图13-6 中子α.β.γ.δ和ε的黑高都是k.给每张图中的每个结点标上黑高,以验证图中所示的转换能保持性质 5. 文心一言: 在Go语言中,你可以通过以下步骤来为图 ...

  10. curl使用小记(一)

    目录 1. 概述 2. 实例 2.1. 访问网页 2.2. 显示头信息 2.3. 保存网页 2.4. 下载图片 2.5. 用户代理设置 2.6. 代理设置 3. 参考 1. 概述 curl也就是com ...