告别重复劳动!Postman变量指南,让API测试飞起来 | 唐叔出品

#新星杯·14天创作挑战营·第12期#

作者:唐叔在学习
标签:#Postman变量 #Postman技巧 #API测试 #测试自动化 #多环境配置 #开发效率

大家好,我是唐叔,今天给大家带来Postman中变量使用的详细教程。作为一名API测试老司机,我深知变量在接口测试中的重要性。合理使用变量不仅能提高测试效率,还能让我们的测试脚本更加灵活、可维护。下面就来跟我一起探索Postman变量的奥秘吧!

一、什么是Postman变量?

简单来说,Postman变量就是用来存储值的容器,可以在请求、脚本和测试中重复使用。想象一下,如果你每次请求都要手动修改URL、请求头或请求体中的某些值,那得多麻烦啊!变量就是来解决这个问题的。

Postman支持多种变量类型,每种类型有不同的作用域和使用场景:

  1. 全局变量(Global Variables):整个Postman环境都可访问
  2. 环境变量(Environment Variables):特定环境下的变量
  3. 集合变量(Collection Variables):仅限特定集合内使用
  4. 局部变量(Local Variables):仅在单个请求或脚本中有效
  5. 数据变量(Data Variables):从外部文件导入的变量

二、环境变量:多环境切换的利器

在实际开发中,我们通常会有多个环境:开发环境、测试环境、预发布环境、生产环境等。每个环境的API地址、认证信息可能都不同。这时候环境变量就派上用场了!

1. 创建和管理环境

在这里插入图片描述

点击Postman右上角的"Environments"按钮,可以创建新环境。比如我创建了"Dev"、"Local"和"Prod"三个环境。

# Dev环境变量示例
base_url: https://api-dev.example.com
token: dev_token_123

# Local环境变量示例
base_url: http://localhost:8080
token: test_token_456

# Prod环境变量示例
base_url: https://api.example.com
token: prod_token_789

2. 在请求中使用环境变量

在这里插入图片描述

在请求URL、Headers或Body中,可以用双花括号引用变量:

{{base_url}}/info

这样切换环境时,Postman会自动替换为对应环境的变量值,是不是很方便?

三、全局变量:随处可用的"万金油"

全局变量在任何地方都可以访问,非常适合存储一些跨环境、跨集合的通用值,也非常适合测试和原型制作。

1. 设置全局变量

可以通过以下几种方式设置全局变量:

  • 方式一:在"Globals"标签页手动添加
    在这里插入图片描述

  • 方式二:在脚本中使用pm.globals.set()方法

    // 在Pre-request Script或Tests脚本中设置全局变量
    pm.globals.set("api_version", "v1");
    

    在这里插入图片描述

2. 使用全局变量

和引用环境变量一样,用双花括号:

{{api_version}}/info

不过唐叔要提醒大家:全局变量虽好,但不要滥用哦!因为它可能会被意外修改,导致难以追踪的问题

四、集合变量:团队协作的好帮手

集合变量是定义在特定集合中的变量,只有该集合内的请求可以访问。

1. 设置集合变量

在集合的"Variables"标签页添加:

collection_token: abc123

在这里插入图片描述

或者通过脚本:

pm.collectionVariables.set("max_retry", 3);

在这里插入图片描述

2. 使用集合变量

在这里插入图片描述

{{collection_token}}

集合变量特别适合团队协作时使用,可以把一些集合相关的配置集中管理。

五、局部变量:临时存储的"小能手"

局部变量只在单个请求的执行过程中有效,请求结束后就会被清除。

1. 设置局部变量

在这里插入图片描述

只能在脚本中设置:

pm.variables.set("temp_value", "123");

2. 使用局部变量

{{temp_value}}

局部变量适合存储一些临时计算结果或中间值。

六、数据变量:自动化的大杀器

数据变量来自外部 CSVJSON 文件,用于 Collection Runner 运行集合时可以使用的数据集。数据变量具有当前值,这些值不会在请求或 collection run 之后持续存在。

1. 设置数据变量

撰写 jsoncsv 数据文件,以 json 文件为例:path 标识 url 路径,value 标识变量值。

[
    {
        "path": "info",
        "value": "1"
    },
    {
        "path": "info",
        "value": "2"
    },
    {
        "path": "info",
        "value": "3"
    },
    {
        "path": "info",
        "value": "4"
    }
]

请求中设置数据变量

在这里插入图片描述

2. 使用数据变量

为了更好的说明,下面使用 gif 图示例。
在这里插入图片描述

数据变量很适合用于自动化批量测验接口时的数据生成。

七、动态变量:Postman自带的"工具箱"

Postman还提供了一些内置的动态变量,可以生成随机数据:

{{$guid}}        // 生成GUID
{{$timestamp}}   // 当前时间戳
{{$randomInt}}   // 随机整数

这些在测试需要随机数据的场景时特别有用!

八、变量优先级:谁说了算?

当不同作用域的变量同名时,Postman会按照以下优先级解析:

在这里插入图片描述

记住这个顺序,遇到变量冲突时就知道怎么排查了!

九、实战技巧:唐叔的小贴士

  1. 命名规范:建议使用小写字母和下划线组合,如api_tokenbase_url
  2. 变量继承:环境可以继承其他环境的变量,便于管理公共配置
  3. 批量导入:可以通过JSON文件批量导入变量,适合初始化环境
  4. 变量监控:在Postman控制台可以查看变量变化,方便调试
  5. 安全提示:敏感信息如密码、token建议使用变量,但不要提交到版本库

十、总结

今天唐叔带大家全面了解了Postman中的变量系统。合理使用变量可以:

  • 提高API测试效率
  • 简化多环境切换
  • 增强脚本可维护性
  • 方便团队协作

记住,变量是Postman的灵魂功能之一,掌握好它,你的API测试水平就能更上一层楼!

最后留个思考题:在一个大型项目中,如何组织管理上百个变量?欢迎在评论区分享你的经验!

我是唐叔,我们下期再见!

参考资料

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值