一、什么是环境变量和全局变量
环境变量(Environment Variables)和全局变量(Global Variables)是 Postman 中用于存储和管理数据的两种变量类型,它们可以提高 API 测试的灵活性和可维护性。
1、 环境变量(Environment Variables)
环境变量是与特定环境关联的变量,适用于需要在不同环境(如开发、测试、生产三种环境,与测试有关的只有测试和生产两种环境)之间切换的情况。
特点:
局限于特定环境:只有在选中的环境下才能使用该变量。
适用于不同的环境配置,如 base_url、auth_token、数据库连接信息等。
优先级高于全局变量(如果变量名相同,环境变量会覆盖全局变量)。
2、全局变量(Global Variables)
全局变量是适用于所有环境的变量,不依赖于某个特定环境。
特点
适用于所有 Postman 请求,无论当前环境是什么。
适合存储通用信息,如 API 版本号、默认超时时间、默认用户 ID 等。
优先级低于环境变量(如果变量名相同,环境变量的值会覆盖全局变量的值)。
二、为什么要在postman中设置变量
1、为了适应不同的测试环境,避免手动修改 API 请求 URL、认证信息。
2、方便团队协作,工作中肯定不止你一个测试人员,使用变量可以让每个成员可以使用不同的环境配置,而无需修改请求内容。
3、避免重复修改,当测试环境变更时,只需修改变量值,而不需要修改所有相关 API 请求。
4、共享数据,可用于存储临时的计算数据或跨请求共享数据(如 token、请求结果等)
总的来说,就是为了提高效率,我们设置一个变量,变量数据可以让不同的用例直接引用,还可以将这个用例的请求结果,当作下一个用例的请求数据,即接口和接口之间调用 依赖关系,需要借助全局变量和环境变量来解决关联问题。
例子:A接口返回的数据供B接口使用。
1.组织A接口http请求数据,发送 A接口 请求。
2.获取 A接口 返回的 响应数据,写入全局、环境变量中
3.组织 B接http请求,从 全局、环境变量中 获取 A返回的数据。
三、如何设置环境变量和全局变量
1、在 Postman UI 页面中手动设置
环境变量:
- 点击variables(变量)打开变量面板。
- 点击Environments(环境),打开环境变量面板
- 在左侧创建环境变量,,添加变量
- 选择该环境后,在 API 请求中使用 { {环境变量名}}。
在我们进行接口测试发送请求时,我们要用环境变量,需要选择对应的环境,因为环境变量是不公用的,只能在该环境下使用
使用环境变量时,我们在请求页面的params页面添加变量,添加方法为{
{变量名}},如图所示。
全局变量:
- 点击variables(变量)打开变量面板。
- 点击Globals(全局变量),打开全局变量面板
- 在左侧创建变量。
- 创建完成后,在 API 请求中使用 { {全局变量名}}。
使用全局变量时,直接在请求页面的params页面添加变量,添加方法为{
{变量名}},全局变量不需要选择环境,直接添加即可。
2、 在 Postman 脚本中动态设置
在 Script下的 Pre-request或 Post-response 中使用 JavaScript 代码创建变量,图中 Pre-request是在请求前设置, Post-response是在请求结束获取响应后时设置变量,可根据实际情况创建变量。
设置环境变量:
pm.environment.set("变量名", "变量值");
获取环境变量:
var 变量名 = pm.environment.get("变量值");
con