在使用Postman进行接口测试时,全局变量和环境变量的设置是非常实用的功能,它们可以帮助我们更高效地管理测试数据和配置,提高测试的灵活性和可维护性。接下来,我们将详细介绍Postman中全局变量和环境变量的设置方法,并通过具体案例来加深理解。
一、全局变量
全局变量是在整个Postman应用中都可以访问和使用的变量。一旦设置,它可以在不同的请求、测试脚本以及集合中被引用。
(一)设置全局变量
- 打开Postman,点击界面右上角的"眼睛"图标,这将打开"Manage Environments"(管理环境)窗口。
- 在该窗口中,点击"Globals"(全局)选项卡。
- 在"Key"(键)列输入变量名,例如"baseUrl",在"Value"(值)列输入对应的变量值,比如"https://api.example.com"。这里我们设置的"baseUrl"变量用于存储接口的基础地址。
- 点击"Save"(保存)按钮,这样全局变量就设置好了。
(二)使用全局变量
在请求的URL中使用全局变量:假设我们有一个获取用户列表的接口,完整的URL是"https://api.example.com/users",我们可以将URL中的基础地址部分用全局变量`{``{baseUrl}}`来代替,那么在请求的URL输入框中就可以填写`{``{baseUrl}}/users`。当发送请求时,Postman会自动将`{``{baseUrl}}`替换为我们设置的实际值"https://api.example.com"。
在测试脚本中使用全局变量:在"Tests"选项卡中,我们可以通过pm.globals.get('变量名')
的方式来获取全局变量的值。例如,我们想在测试脚本中打印出刚才设置的baseUrl
变量的值,可以编写如下代码:
javascript
pm.test("打印全局变量baseUrl的值", function () {
var baseUrl = pm.globals.get('baseUrl');
console.log(baseUrl);
});
二、环境变量
环境变量是针对特定环境设置的变量,不同的环境可以有不同的变量值。这在我们需要在开发、测试、生产等不同环境中进行接口测试时非常有用。
(一)创建和设置环境变量
- 同样点击界面右上角的"眼睛"图标,打开"Manage Environments"窗口。
- 点击"Add"(添加)按钮,创建一个新的环境,比如命名为"Development"(开发环境)。
- 在新创建的环境中,在"Key"列输入变量名,例如"apiKey",在"Value"列输入对应的变量值,比如"dev_api_key_123"。这里的
apiKey
变量可能用于在开发环境中进行接口请求的身份验证。 - 点击"Save"按钮保存环境变量设置。
(二)切换环境并使用环境变量
- 点击界面右上角的环境选择下拉框,选择我们刚才创建的"Development"环境。
- 在请求的URL、请求头、请求体或测试脚本中使用环境变量。例如,在一个需要
apiKey
进行身份验证的接口请求中,我们可以在请求头的"Authorization"字段中使用{``{apiKey}}
来引用环境变量。那么在请求头的"Authorization"输入框中就填写Bearer {``{apiKey}}
。当发送请求时,Postman会自动将{``{apiKey}}
替换为我们在"Development"环境中设置的实际值"dev_api_key_123"。 - 在测试脚本中获取环境变量的值,使用
pm.environment.get('变量名')
的方式。例如,我们想在测试脚本中验证获取到的apiKey
变量值是否符合预期,可以编写如下代码:
javascript
pm.test("验证环境变量apiKey的值", function () {
var apiKey = pm.environment.get('apiKey');
pm.expect(apiKey).to.equal('dev_api_key_123');
});
三、案例演示
假设我们有一个电商系统的接口测试项目,需要在开发环境和生产环境中进行测试。
在开发环境中:
- 创建一个名为"Development"的环境。
- 设置环境变量
baseUrl
的值为"https://dev.api.example.com",apiKey
的值为"dev_api_key_123"。 - 对于一个获取商品列表的接口请求,URL设置为
{``{baseUrl}}/products
,请求头中"Authorization"字段设置为Bearer {``{apiKey}}
。
在生产环境中:
- 创建一个名为"Production"的环境。
- 设置环境变量
baseUrl
的值为"https://api.example.com",apiKey
的值为"prod_api_key_456"。 - 同样的获取商品列表接口请求,URL和请求头的设置方式不变,当切换到"Production"环境后,Postman会自动使用生产环境中设置的变量值进行请求。
通过全局变量和环境变量的设置,我们可以方便地在不同环境中进行接口测试,并且可以灵活地管理和使用测试数据和配置,大大提高了测试的效率和可维护性。
希望通过本文的介绍,你能熟练掌握Postman中全局变量和环境变量的设置和使用方法,在接口测试工作中更加得心应手。