Как использовать глобальную переменную, определенную в скрипте предварительного запроса, в скрипте тестов в почтальоне? - PullRequest
0 голосов
/ 17 ноября 2018

enter image description here

Я определил одну глобальную переменную workkard_number в сценарии перед запросом.Я хочу сравнить эту глобальную переменную с рабочим номером, представленным в ответе.

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Как уже упоминалось @Danny, рекомендуется обновить его до последней версии.

Теперь к вашему вопросу: если вы хотите сравнить глобальную переменную с рабочим номером, представленным в ответе, вам необходимо сначала проанализировать ответи получите в нем workkard_number, который вы затем сможете сравнить с вашей глобальной переменной.Вы можете попробовать что-то вроде этого в своем тестовом скрипте:

var jsonData = JSON.parse(responseBody);
var responseWorkkardNumber = jsonData.wokkard_number;

Вы можете получить workkard_number в ответе, подобном этому (предполагая, что ваш ответ - json с ключом "workkard_number". Затем выможно сравнить его следующим образом:

tests["workkard_numbers are equal"] = responseWorkkardNumber === globals.workkard_number;

или

tests["workkard_numbers are equal"] = responseWorkkardNumber === pm.globals.get("workkard_number");

Также обратите внимание - «Предупреждение - Среда и глобальные переменные всегда будут храниться в виде строк. Если вы храните объекты / массивы, убедитесь, что JSON.stringify () их перед сохранением, и JSON.parse () их при получении. "- https://www.getpostman.com/docs/v6/postman/environments_and_globals/manage_environments

0 голосов
/ 17 ноября 2018

Как говорится в предупреждающем сообщении, вы используете очень старую версию Postman и, возможно, это расширение chrome.

Теперь это несколько основных версий, и функциональность pm.* не включена в эту старую версию расширения Chrome.

Загрузите собственное приложение и начните использовать новейшую версию Postman.Не делая этого, вы упускаете так много новых функций.

...