postman Variables变量的详解与应用
变量
变量类型(按照作用域划分)
- 全局变量(全局环境里面的变量)
- 集合变量(请求集合里声明的变量)
- 自定义环境变量
- 数据变量(在runner时文件变量)
- 本地变量
变量权重类型
全局变量 < 集合变量 < 自定义环境变量 < 数据变量 < 本地变量
变量范围
在请求构造器中使用变量
可以通过 {{variableName}} 的方式使用变量,如下图所示:
通过数据编辑器设置变量
postman在请求构造器的右上角提供了两处比较便捷的方式设置全局变量和自定义环境变量,分别是环境快速预览按钮和环境设置按钮。如下图所示:
环境快速预览页面
环境设置页面
------
全局变量 (globals variables)
全局变量保存在postman的全局环境中,全局变量可以通过UI或脚本进行设置。
在UI中设置全局变量
- 打开方式1 : 环境快速预览按钮 》 Globals Tab页的Edit按钮
- 打开方式2 : 环境设置按钮 》 Globals按钮
编辑UI如下
使用脚本操作全局变量
全局变量可以在 请求前脚本和测试脚本中进行设置和获取。
设置全局变量脚本如下:
pm.globals.set("variable_key", "variable_value");
语法 :pm.globals.set(“变量名”, “变量的值”);
获取全局变量脚本如下:
var globals_variable = pm.globals.get("variable_key");
语法 :pm.globals.get(“变量名”);
集合变量
集合指的多个请求的集合,集合中可以有多个文件夹(文件夹中有请求)或请求。
通过postman的UI设置集合变量
打开方式:集合 … 按钮 》 Edit 》 Variables
如下图所示:
通过脚本操作集合变量
集合变量可以在 请求前脚本和测试脚本中进行设置和获取。
设置集合变量脚本如下:
pm.collectionVariables.set("variable_key", "variable_value");
语法 :pm.collectionVariables.set(“变量名”, “变量的值”);
获取集合变量脚本如下:
var collectionVariable = pm.collectionVariables.get("variable_key");
语法 :pm.collectionVariables.get(“变量名”);
自定义环境变量(environment variables)
自定义环境变量(下面称之为 环境变量) 是postman中最常用的变量。首先,环境变量可以通过可视化UI进行编辑,导入,导出等操作,数据可视化效果好;然后,环境变量 可以设置多个环境,环境切换简单;最后,环境变量可以通过脚本进行修改。
通过UI设置环境变量
- 打开方式1 :环境快速预览按钮 》 Edit
- 打开方式2 :环境设置按钮 》 选择需要编辑的环境 》 点击
通过脚本操作环境变量
设置环境变量脚本
pm.environment.set("variable_key", "variable_value");
语法 :pm.environment.set(“变量名”, “变量的值”);
获取环境变量脚本
var environmentVariable = pm.environment.get("variable_key");
语法 :pm.environment.get(“变量名”);
数据变量(Data variables)
数据变量是指运行时指定的数据文件,postman 目前支持csv和json格式的数据文件。如果我们需要对一个或者多个请求进行多数据的批量测试,那么导入预设的数据文件绝对是一个好的选择。
导入数据文件
csv 和 json 数据格式如下:
打开方式 : 选择集合 》 runner(是个logo) 按钮 》 选择请求文件夹或请求 》 选择文件 (选择后可以预览数据)》 选择请求 》RUN
运行结果如下:
可以看出有三条测试数据,这里请求自动执行了三次。
在请求前置脚本中可以操作 数据变量 data ,但是在tests脚本中则无法操作 数据变量。
通过脚本在请求前置脚本中设置数据变量
设置数据变量脚本
pm.iterationData.set("variable_key", "variable_value");
语法 :pm.iterationData.set(“变量名”, “变量的值”);
获取数据变量脚本
var iterationData = pm.iterationData.get("variable_key");
语法 :pm.iterationData.get(“变量名”);
总结
postman 变量根据不同的测试需求应该灵活运用,一下是个人一些见解:
- 在集合中特有的变量,可以设置在集合变量中。首先,集合导出时回将集合变量一起导出(导入同理);其次可以减少环境变量的数量。
- 需要在集合间传递或共用的变量设置为环境变量。使用环境变量可以多个集合共用,并且导入导出简单,可以根据情况设置多个环境。
- 一些不变的变量设置为全局变量。例如:服务器地址等
- 批量测试,多组数据测试使用数据变量。可以预先设置测试数据,批量完成测试。
postman Variables变量的详解与应用的更多相关文章
- Mysql常用show命令,show variables like xxx 详解,mysql运行时参数
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. 详细: http://dev.mysql.com/doc/ ...
- PHP常量、变量作用域详解(一)
PHP 中的每个变量都有一个针对它的作用域,它是指可以在其中访问变量(从而访问它的值)的一个领域.对于初学者来说,变量的作用域是它们所驻留的页面.因此, 如果你定义了 $var,页面余下部分就可以访问 ...
- PHP变量作用域详解(二)
学过C的人用PHP的时候一般会相当顺手,而且感到PHP太方便太轻松.但在变量作用域这方面却与C有不同的地方,搞不好会相当郁闷,就找不到错误所在.昨晚就与到这么一个问题,是全局变量在函数中的问题.今天搜 ...
- JAVA环境变量配置详解(Windows)
JAVA环境变量配置详解(Windows) JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLA ...
- JS变量对象详解
JS变量对象详解 开年之后工作热情一直不是很高,这几天一直处于消极怠工状态.早上不想起床,起床了不想上班.明明放假之前工作热情还一直很高,一直心心念念的想把小程序项目怼出来,结果休假回来之后画风完全不 ...
- js变量类型详解
<html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...
- js课程 1-3 Javascript变量类型详解
js课程 1-3 Javascript变量类型详解 一.总结 一句话总结:js对象点(属性方法),json对象冒号(属性方法).属性和方法区别只有一个括号. 1.json对象中的函数的使用? 函数名 ...
- DOS批处理中%~dp0等扩充变量语法详解
有时候我们看到别人使用%~dp0 ~是扩展的意思,相当于把一个相对路径转换绝对路径%0代指批处理文件自身%1表示批处理文件命令行接收到的第一个参数,%2表示第二个,以此类推%~d0 是指批处理所在的盘 ...
- mysql的变量信息详解
mysql的变量详解 执行show variables命令可以查看MySQL服务器的变量 变量名 默认值 说明 对应的配置文件参数 auto_increment_increment 1 自增长类型的初 ...
随机推荐
- Reactive Spring实战 -- 响应式Redis交互
本文分享Spring中如何实现Redis响应式交互模式. 本文将模拟一个用户服务,并使用Redis作为数据存储服务器. 本文涉及两个java bean,用户与权益 public class User ...
- HTML5中window.postMessage,在两个页面之间的数据传递
HTML5中window.postMessage,在两个页面之间的数据传递 2015年11月3日 8536次浏览 关于postMessage window.postMessage虽然说是html5的功 ...
- GRU算法原理
一.GRU算法 GRU(Gate Recurrent Unit,循环门单元)是循环神经网络(Recurrent Neural Network, RNN)的一种.和LSTM(Long-Short Ter ...
- MIT 6.824拾遗(一)聊聊basic-paxos
前言 The Paxos algorithm, when presented in plain English, is very simple. ------ Lamport,<Paxos Ma ...
- java例题_29 二维数组问题,并输出对角线之和
1 /*29 [程序 29 求矩阵对角线之和] 2 题目:求一个 3*3 矩阵对角线元素之和 3 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. 4 */ 5 6 ...
- Java基础回顾_第一部分
Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...
- WebGPU[4] 纹理三角形
代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/04-texture-triangle 原创,发布日 202 ...
- 七大php主流框架,你用过几个?
在php中,我们最常用的框架有七个,分别是Yii2.Laravel.Yaf.Thinkphp.Code Igniter.Zend Framework以及CakePHP,今天我们就来详细介绍一下他们.一 ...
- 「HTML+CSS」--自定义加载动画【009】
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
- OO电梯系列优化分享
目录 前言 HW5 HW6 第二次作业uml协作图 HW7 第三次作业uml协作图 前言 本单元作业在优化方面确实有一些想法值得分享,故单开一篇博客分享一下三次作业的优化以及架构. 三次作业的共同之处 ...