Мне нужно установить параметр в моем запросе, который является хешем md5 двух других параметров. Я думаю, что предварительный запрос script может выполнить эту работу, но я не знаю, как вычислить md5 в этом script. Любая идея?
Как вычислить хэш хд5 в предварительном запросе script в PostMan?
Ответ 1
Вы можете создать следующий предварительный запрос script, если ваши параметры определены переменными среды. Вам нужно будет настроить этот пример, если они будут определены другим способом.
// Access your env variables like this
var str_1 = environment.variable_1 + environment.variable_2;
// Or get your request parameters
var str_2 = request.data["foo"] + request.data["bar"];
// Use the CryptoJS
var hash = CryptoJS.MD5(str_1 + str_2).toString();
// Set the new environment variable
postman.setEnvironmentVariable('hash', hash);
CryptoJS работает, потому что он доступен в Postman (а также lodash, магистраль и т.д.).
Доступ к переменным окружения легко через объект environment
.
Настройка переменных среды доступна через объект postman
.
После выполнения этого предварительного запроса вы можете получить доступ к переменной hash
, используя стандартную сокращенную {{hash}}
.
Кроме того, вы можете прочитать здесь о библиотеках, переменных и свойствах, доступных в Postman.
Ответ 2
FYI, поскольку Postman 4.6.0+ вы больше не можете включать внешние библиотеки с вызовами $.getScript и обещаниями, поскольку jQuery был амортизирован в пользу Cheerio от 4.6.0.
Поэтому, если вы хотите включить стороннюю библиотеку в свои сценарии предварительного запроса, в настоящее время единственный способ сделать это - сохранить содержимое файла в переменной среды и запустить eval() в вашем sript - посмотреть, почему здесь.
Например:
eval(postman.getEnvironmentVariable("JSSHA"));
Однако есть некоторые библиотеки, включенные в Postman, которые не требуют этого обходного пути, это перечисленные здесь.