Почтальон: Как удалить / очистить переменную среды почтальона во время выполнения

Есть ли способ удалить / очистить переменную среды почтальона, используя функции во время выполнения. Я мог бы установить пустой или какое-то особое значение, но есть ли общий способ сделать что-то.

6 ответов

Решение

Sandbox API pm.environment.unset(variableName) также позволяет сделать это.

В случае, если вы хотите очистить все переменные среды одновременно - вы можете сделать: pm.environment.clear(),

Это очистит все значения вашей среды.

См. https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox_api_reference

Хорошо, вот так.

postman.clearEnvironmentVariable("key");

И правильный синтаксис:

pm.environment.unset("key");

Я также столкнулся с этим возможным решением для установки пустых переменных:https://community.postman.com/t/can-i-clear-just-the-current-values-in-an-environment/6176

Я обнаружил, что с помощью pm.environment.clear()или же pm.environment.unset(variableName)удаляет переменную из среды. Но иногда я хочу сохранить переменную и просто очистить значение, например, я хочу поделиться средой с кем-то еще, но она содержит значения, которые должны применяться только ко мне (например, учетные данные oauth).

Поэтому я повторно использовал функцию, описанную в ссылке, и использовал pm.environment.set(variableName, "")вместо неустановленного.

Итак, моя функция выглядит так:

      function clearVariables() {
    // Get all the names of our env variables and put them in an array
    const environmentVariables = pm.environment.values.map(function(variable) {
        return variable.key;
    });

    // Filter through the above array but don't add variables as per conditions    
    const binTheseVariablesOff = environmentVariables.filter(function(variable) {        
        return !variable.toLowerCase().includes("auth");
    });

    // Now go through this new array and clear these env variables
    return binTheseVariablesOff.forEach(function(variableName) {        
        pm.environment.set(variableName, "");
    });
}

// Call the function
clearVariables();

Для тех, кто хочет очистить глобальную переменную:

Я получал доступ к временной переменной через

      pm.globals.get("timings")

и я смог очистить его, запустив

      pm.globals.unset("timings")

в разделе "Тесты"

сначала выберите среду в пользовательском интерфейсе почтальона, затем нажмите три точки, выберите удалить переменную среды

Другие вопросы по тегам