postman中的变量与使用

postman中的变量与使用。

一、变量的区别:环境、全局、动态、数据。

环境变量

postman可以设置多套环境,每套环境里可以有多个环境变量。环境变量是特定的环境下引用的变量,必须要制定对应的环境才能引用到其中的变量,切换环境,就可进行引用。

注:多环境切换,这个操作也是非常实用的一个东东,在实际的开发中会大大的减少测试的操作环节,Postman的环境个数不限,可以根据实际需求,定义多个项目环境,并任意的轻松的在环境之间进行切换一个环境可以包含多个变量,一个变量只能属于某个环境,在一个环境中变量不可重复定义,在环境与环境之间可以定义重复的变量,例如:项目A中可以定义一个base_uri,在项目B中也可以定义一个base_uri,但是在项目A中不能同时出现两个base_uri。

全局变量

postman只可以设置一组全局变量,作用于整个postman。

全局变量是在postman中所有的api都使用的变量,可以直接引用全局变量中的变量,而不用指定环境;

动态变量

Postman也有一些动态变量,可以用在你的request中。在request header中包含时间戳或者在URL参数中发送一个随机字符串,时间戳和随机字符都属于动态变量。

注意:动态变量在pre-request script中设置,但不可以用于SandBox中,你只能在request的URL、headers、body中以放在双花括号中间的形式使用。

通过js脚本Math.round(new Date().getTime()/1000) 获取linux时间戳,zai将获取的timestamp设为环境变量;

var timestamp = Math.round(new Date().getTime()/1000)

 通过{{timestamp}}获取上一步设置的环境变量值,设为请求header

pm.environment.set("timestamp", "timestamp");

在header 里对应的变量值里引用{{}}

数据变量

集合运行器让我们导入CSV或JSON文件,然后在HTTP请求和脚本中使用来自数据文件的值。这些变量称为数据变量。

数据变量使用之前要在pre-request script中定义过。eg:var name=data.name

变量优先级

数据变量(在collection中使用数据驱动前提下)>环境变量>全局变量

二、变量的配置

 1. 右上角配置。

进入 Postman 工具,点击右上角设置按钮 -> Globals/Environment -> 设置变量名和变量值

  1. test选项模块配置。
  2. 可以从response里拿到变量的值,用JSON.parse或pm.response方法,然后把变量设置为环境或全局变量。

var jsonData=JSON.parse(responseBody)

var jsonData=pm.response.json()

pm.globals.set("variable_key", "variable_value");

pm.environment.set("variable_key", "variable_value");

 

三、使用变量

在使用时,需要使用双大括号将被使用的参数阔起来,例如:

单个参数的情况:{{variable}}

多个参数的情况:{{variable01}}{{variable02}}

注:使用Postman自动补全功能,当键入一个大括号时,会显示全部的变量,选择某个变量后,敲回车键,即可快速插入变量

Postman三大内值变量

变量描述
{{$guid}} v4风格的guid
{{$timestamp}} 当前的时间戳
{{$randomInt}} 0–1000的随机数

原文地址:https://www.cnblogs.com/bernard-shen/p/13188114.html