Postman设置变量详解

Postman是一个流行的API开发和测试工具,支持快速创建和执行HTTP请求。它不仅可以用于测试API,还可以用于处理HTTP请求中的各种事件。其中,设置变量非常重要,本文将从多个方面详细阐述Postman设置变量的方法和技巧。

一、设置全局变量

全局变量在整个Postman环境中可见,多个集合之间和请求之间都可以共享。它们非常适合需要存储固定值的场景,如环境变量、身份验证令牌等。

在Postman中,设置全局变量很简单。只需在Variables选项卡中定义一个名称和值即可。例如,我们要定义一个名称为”apiUrl”的全局变量来存储我们的API地址:


// 定义全局变量
pm.globals.set("apiUrl", "https://api.example.com");

在需要使用全局变量的地方,可以使用{{$variableName}}的方式调用。例如,我们要使用”apiUrl”全局变量中的值创建一个GET请求:


// 获取全局变量中的值
const apiUrl = pm.globals.get("apiUrl");

// 发送GET请求
pm.sendRequest({
    url: apiUrl + "/users",
    method: 'GET',
    header: {
        'Content-Type': 'application/json'
    }
}, function(res) {
    console.log(res);
});

这样,我们就可以轻松地在多个请求中共享相同的API地址了。

二、设置环境变量

环境变量通常用于存储每个环境的特定值,例如服务器地址、用户名和密码等。在Postman中,您可以轻松地切换环境并使用相应的环境变量。

要设置环境变量,请单击菜单栏中的”环境”按钮,然后单击”管理环境”。在”环境”选项卡中,您可以定义环境名称和变量。


// 定义环境变量
pm.environment.set("apiUrl", "https://api.example.com");

同样,您可以在需要使用环境变量的地方使用{{$variableName}}调用变量。例如,我们要使用环境变量中的值创建一个POST请求:


// 获取环境变量中的值
const apiUrl = pm.environment.get("apiUrl");

// 发送POST请求
pm.sendRequest({
    url: apiUrl + "/login",
    method: 'POST',
    header: {
        'Content-Type': 'application/json'
    },
    body: {
        mode: 'raw',
        raw: JSON.stringify({
            "username": "testuser",
            "password": "testpassword"
        })
    }
}, function(res) {
    console.log(res);
});

在切换环境时,环境变量的值将自动更新。

三、动态设置变量

Postman还支持在测试脚本中动态设置变量。这对于需要动态生成值的场景非常有用,例如随机生成的ID、时间戳和密码等。

您可以在测试脚本中使用pm.variables.set()方法动态设置变量。例如,我们要在测试脚本中动态生成一个随机数,并将其存储在变量中:


// 生成随机数
const randomNum = Math.floor(Math.random() * 1000);

// 设置变量
pm.variables.set("randomNumber", randomNum);

console.log(pm.variables.get("randomNumber"));

在测试脚本中设置的变量可以在请求的其他部分中使用。例如,我们可以使用{{$randomNumber}}调用这个变量:


// 获取变量
const randomNumber = pm.variables.get("randomNumber");

// 发送GET请求
pm.sendRequest({
    url: apiUrl + "/user/" + randomNumber,
    method: 'GET',
    header: {
        'Content-Type': 'application/json'
    }
}, function(res) {
    console.log(res);
});

这样,我们就可以动态生成值并使用它们来测试我们的API。

四、从响应中提取值并设置变量

在测试API时,有时需要从响应中提取值并将其存储在变量中。例如,在访问API时,我们需要在后续请求中使用身份验证令牌。这可以通过使用Postman的测试脚本方法来实现。

当Postman收到响应时,可以使用测试脚本来提取响应中的值,并将其存储在变量中。例如,我们可以使用pm.test()方法编写测试脚本来提取响应的身份验证令牌:


// 检查状态码
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

// 接收响应体
const responseBodyJson = pm.response.json();

// 存储令牌
pm.environment.set("authToken", responseBodyJson.token);

在上面的代码中,pm.test()方法检查响应的状态码是否为200。然后,我们使用pm.response.json()方法接收响应体,并使用pm.environment.set()方法将令牌存储在环境变量中。

通过这样的方法,我们可以轻松地提取响应中的值并将其存储在变量中,以便后续请求使用。

五、使用预置变量

Postman还提供了一些预置变量,可以方便地在测试脚本和请求中使用。

例如,在测试脚本中,您可以使用pm.expect()和pm.test()方法来检查响应。以下是一些常用的预设变量:

  • pm.expect()
  • pm.test()
  • pm.variables.get()
  • pm.variables.set()
  • pm.globals.get()
  • pm.globals.set()
  • pm.environment.get()
  • pm.environment.set()
  • pm.request.url
  • pm.request.headers
  • pm.response.code
  • pm.response.headers
  • pm.response.body

例如,以下是使用预置变量检查响应状态码的示例代码:


pm.test("Status code is 200", function () {
    pm.expect(pm.response.code).to.equal(200);
});

在请求中,您可以使用预设变量来构建请求URL、设置标头和请求主体等。例如,以下是使用预置变量构建请求URL的示例代码:


const apiUrl = "https://api.example.com";
const endpoint = "/users";
const userId = "123";

pm.request.url = apiUrl + endpoint + "/" + userId;

以上就是Postman设置变量的多个方面的详细阐述。无论是设置全局变量、环境变量、动态设置变量、从响应中提取值并设置变量还是使用预置变量,Postman都可以轻松地处理。这些技巧将帮助您更有效地使用Postman进行API开发和测试。

原创文章,作者:TSILK,如若转载,请注明出处:https://www.506064.com/n/370327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
TSILKTSILK
上一篇 2025-04-20 13:09
下一篇 2025-04-20 13:09

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python匿名变量的使用方法

    Python中的匿名变量是指使用“_”来代替变量名的特殊变量。这篇文章将从多个方面介绍匿名变量的使用方法。 一、作为占位符 匿名变量通常用作占位符,用于代替一个不需要使用的变量。例…

    编程 2025-04-29
  • Python变量在内存中的存储

    该文章将从多个方面对Python变量在内存中的存储进行详细阐述,包括变量的声明和赋值、变量的引用和指向、内存地址的变化、内存管理机制等。 一、声明和赋值 在Python中,变量声明…

    编程 2025-04-29
  • Python变量类型用法介绍

    Python是一种解释型编程语言,它提供了丰富的数据类型,包括数字、字符串、列表、元组、集合、字典等。Python变量类型的定义是Python程序开发的基础,本文将从以下几个方面对…

    编程 2025-04-28
  • Python print输出变量

    Python是一种脚本语言,语法简单易懂,目前被广泛应用于数据处理、人工智能、web开发、游戏开发等领域。其中print函数是Python中最常用的函数之一,用于将变量输出到控制台…

    编程 2025-04-28
  • Python定义变量

    Python是一门高级编程语言,变量是Python编程中非常重要的一个概念。Python的变量定义方式非常简单,可以在程序中随时定义一个变量来存储数据,这方便了整个程序的逻辑编写,…

    编程 2025-04-28
  • Python中如何定义一个变量

    Python是一种高级编程语言,使用它您可以轻松地定义和操作变量。Python中的变量属于动态类型变量,因此不需要在定义变量时指定其类型,而是在变量分配之前自动确定变量的数据类型。…

    编程 2025-04-28
  • Python每次运行变量加一:实现计数器功能

    Python编程语言中,每次执行程序都需要定义变量,而在实际开发中常常需要对变量进行计数或者累加操作,这时就需要了解如何在Python中实现计数器功能。本文将从以下几个方面详细讲解…

    编程 2025-04-28
  • Python中局部变量通常出现在函数中

    在Python编程中,局部变量是在函数中定义的变量,只能在函数内部访问。相比于全局变量,局部变量的作用域更加有限,但是它们可以提高代码的模块化,并减少变量名的混淆。 一、局部变量的…

    编程 2025-04-28

发表回复

登录后才能评论