Я должен установить параметр в своем запросе, который представляет собой хэш md5 двух других параметров. Я думаю, что сценарий предварительного запроса может выполнить эту работу, но я не знаю, как вычислить md5 в этом сценарии. Любая идея?
Как вычислить хэш md5 в сценарии предварительного запроса в PostMan?
Ответы (2)
Вы можете создать следующий сценарий предварительного запроса, если ваши параметры являются определенными переменными среды. Вам нужно будет настроить этот пример, если они определены каким-то другим способом.
// 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, backbone и т. д.).
Доступ к переменным среды легко осуществляется через объект environment
.
Настройка переменных окружения доступна через объект postman
.
После выполнения этого предварительного запроса вы можете получить доступ к переменной hash
, используя обычное сокращение {{hash}}
.
Кроме того, вы можете прочитать здесь о библиотеках, переменных и свойствах, доступных в Postman.
К вашему сведению, начиная с Postman 4.6.0+, вы больше не можете включать внешние библиотеки с вызовами $.getScript и обещаниями возврата, так как jQuery был обесценен в пользу Cheerio из 4.6.0.
Поэтому, если вы хотите включить стороннюю библиотеку в свои сценарии предварительного запроса, в настоящее время единственный способ сделать это — сохранить содержимое файла в переменной среды и запустить eval() в вашем сценарии — узнайте, почему здесь.
Например:
eval(postman.getEnvironmentVariable("JSSHA"));
Однако есть некоторые библиотеки, включенные в Postman, которые не требуют этого обходного пути, они перечислены здесь.