Postman中文网站 18221674630

测试必学的测试工具postman-变量

发布者:Postman中文网站 时间:2023-08-31

01 为什么需要变量  

借助变量,可以在多个位置使用同一个值,或者在同一个位置使用多个值,实现业务逻辑和测试数据相分离,有助于创建健壮性的测试用例  

02 变量的种类

postman中共有5种变量,分别是:  

global(全局变量):即通用变量,在postman中任何地方都可以使用这个变量  

collection(集合变量):申明的变量必须基于某个集合  

environment(环境变量):常见环境分类有开发环境、测试环境和生产环境  

data(数据变量):数据变量来自外部CSV和JSON文件,用于定义在通过Newman或CollectionRunner运行集合时可以使用的数据集  

local(本地变量):针对单个URL请求设置的变量  

03变量的创建  

a.通过界面创建变量:如创建全局变量和环境变量  

变量的创建.png 

b.通过脚本创建变量  

创建全局变量:  

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

创建集合变量:  

pm.collectionVariables.set("variable_name","variable_value");  

创建环境变量:  

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

创建本地变量:  

varvariable_name="variable_value";  

04变量的使用  

a.通过在请求URL或者请求正文中直接使用{{variable_name}}方式获取变量值;  

b.通过脚本获取变量值:  

获取全局变量:  

pm.globals.get("variable_name");  

获取集合变量:  

pm.collectionVariables.get("variable_name");  

获取环境变量:  

pm.environment.get("variable_name","variable_value");  

获取数据变量:  

如果是CSV文件方式,则需要在Pre-requestScrip中使用data.variable_name/data["variable_name"]来获取变量值  

如果是JSON文件方式,可以直接使用{{variable_name}}方式获取变量值  

05变量的扩展  

7.1关于数据变量:  

a)外部CSV文件和JSON文件格式  

关于数据变量.png  

b)运行界面  

运行界面.png 

c)CSV文件和JSON文件之间的比较  

CSV文件的优缺点  

优点:数据组织形式简单,适用于大量数据的场合  

缺点:  

不支持bool类型数据(非数字值被postman读入后会自动添加"")  

不支持多参、少参、无参、错误参数的接口测试  

不支持复杂数据类型(嵌套字典、列表等)  

JSON文件的优缺点  

优点:  

支持bool类型  

支持多参、少参、无参、错误参数的接口测试  

支持复杂数据类型  

缺点:对于相同数据量,JSON文件的大小远大于CSV文件的大小  

7.2关于动态变量  

动态变量会自动生产随机数据,例如随机数、字母、颜色等  

动态变量的名称以$符号开头,动态变量的值在执行时生成  

动态变量使用方式:{{$变量名}}  

常见动态变量:  

变量名称  

说明  

$randomInt  

1到1000之间的随机整数  

$randomColor  

随机的颜色名称  

$randomBoolean  

随机布尔值,如true或false  

$randomWeekday  

随机工作日  

$randomMonth  

随机月份  

$randomAlphaNumeric  

单个随机字母或数字