Postman的变量专题(二)

方琳 1



Postman的变量专题(二)

原创:方琳

 

本编为postman变量专题系列第二篇,专门讨论全局变量。

Global全局变量,以后简称G变量1,能在整个workspace范围中使用,分为两种,一种是自定义的变量名,一种是系统自带的变量名(动态变量)。都可以在Workspace下的所有用例集和脚本中共享该类型变量的值。

 

定义G变量,有两种方式,一是在界面中通过操作完成,二是通过编写代码完成。

一、通过界面操作完成定义G变量:

1.点击界面右上角的眼睛
2

2.在弹窗中选择Globals的Edit或Add按钮
3

  1. 在接下来的界面中输入全局变量的名称和值,最后点击’Save’
  2. 4

二、在脚本区写代码定义
调用pm的globals对象的set方法,pm.globals.set(“全局变量名”,变量值),如:pm.globals.set(“ip”,”192.168.1.2″)

以上脚本区可以是Pre-request Script或Tests代码区
5


调用G变量的使用同样也可以在图形界面通过操作完成,或通过代码调用
一、通过界面操作完成G变量使用
1.在Params中的value列表中输入{{全局变量名 即可下拉选择。即使是用代码定义的G变量且代码未运行过,此处也可以直接用{{全局变量名}}引用。
6
 

在该界面最后形成{{全局变量名}}来引用该变量
7
二、在脚本区写代码调用
调用pm的globals对象的get方法,pm.globals.get(“全局变量名”),如:pm.globals.get(“ip”)
8

    以上是自定义的全局变量,下面来研究系统自带的全局变量,postman官方文档称其为“dynamic variables”。以下简称Gd变量。Gd变量是一些postman自带的已命名变量,所有无须定义,这些变量全部是以$开头命名的。和之前讨论的自定义全局变量一样,有图形界面和代码调用两种使用方式。

    在研究Gd变量使用之前,先来说一下它的用途和原理。Gd变量都是与时间、随机值、当前运行态(比如用户ID)相关数据,绝大多数是随机值相关的,比如:随机1000以内的值,随机8位数字的账号,随机未来日期、随机过去日期、随机IP、随机密码等等。Gd变量是全局的,在整个workspace中都可用,但数据值是在执行到调用代码时才产生的,所以我把他归类为“全局运行时动态”变量,即在全局范围可用,只在运行时才产生数据,每次运行得到的数据都是动态不同的。该类型变量,即使是在同一个程序脚本中不同代码行多次使用,得到的数据值也是不同的。

调用Gd变量
一、通过界面操作完成Gd变量使用
过程基本同自定义全局变量,只是引用时在变量名前带上$,然后用{{}}包含,如:{{$randomBankAccount}}。

二、在脚本区写代码调用

调用pm的variables对象的replaceIn方法,pm.variables.replaceIn(“Gd变量名”),如:pm.variables.replaceIn(“{{$randomBankAccount}}”)。

为什么此处不像全局变量那样pm.globals.get(“全局变量名”)来取值,想想我前述Gd变量的用途和原理,这是个有全局范围却只在执行时才产生数据的家伙,所以他就是顶着全局名头但只有局部变量命的存在。因此调用时需要将其从全局变量替换成为本地变量,熟悉postman的朋友都知道variables是局部变量对象,因此此处通过replaceIn方法将Gd变量转化为本地变量来使用。

 

 

欢迎指正、转载,请保留原创作者的署名

One Reply to “Postman的变量专题(二)”

发表评论

邮箱地址不会被公开。 必填项已用*标注