Обновить переменную среды в Postman с помощью Newman

Я использую Newman и Postman для тестирования веб-сайта.

Моя конструкция команды Ньюмана выглядит так:

newman run
"https://api.getpostman.com/collections/{collection_id}?apikey={my_postman_api_key}"
--environment "https://api.getpostman.com/environments/{environment_id}?apikey={my_postman_api_key}"
--export-environment "https://api.getpostman.com/environments/{environment_id}?apikey={my_postman_api_key}"
--insecure

Все это работает нормально, но мои значения среды не обновляются после запуска Newman.

В моем запросе я использую Pre-request Script для обновления значения:

var mail = pm.environment.get("mail_randomizer");
pm.environment.set("mail_randomizer", Number(mail) + 1);

После отправки этого запроса в Postman значение переменной mail_randomizer увеличилось на 1, но после выполнения запроса с помощью Newman это не сработает.

Как правильно экспортировать окружение в Newman?


person Gene Truuts    schedule 16.08.2018    source источник
comment
Что вы имеете в виду под этим? Что происходит? Можете ли вы предоставить какие-либо изображения того, что вы видите? Мне нравится команда экспорта среды Ньюмана.   -  person Danny Dainton    schedule 16.08.2018
comment
Переменная в среде не обновляется   -  person Gene Truuts    schedule 16.08.2018
comment
Да, я понял ... Что происходит с запросом? Он работал с обновленным значением, но не экспортировал новое значение? Есть ли какие-нибудь тесты, которые вы могли сдать, неуспешно? Нужна дополнительная информация, чтобы знать, что происходит.   -  person Danny Dainton    schedule 16.08.2018
comment
Следующий запрос не будет работать, потому что мое значение должно быть уникальным. Итак, я получаю красное сообщение об ошибке в журнале Newman. Но если я повторно отправлю этот запрос в Postman, моя переменная будет успешно обновлена ​​и будет доступна для теста Ньюмана. Первый тест будет пройден, потому что мое значение будет по-прежнему уникальным, но после этого следующий тест Ньюмана завершится неудачно, потому что мое значение не будет обновляться в среде.   -  person Gene Truuts    schedule 16.08.2018
comment
@EugeneTruuts Можете ли вы поделиться сборником, в котором это происходит? Отзовите любую конфиденциальную информацию. (Замените url на postman-echo.com, если вам нужно)   -  person Sivcan Singh    schedule 17.08.2018
comment
Чтобы поделиться коллекцией: getpostman.com/docs/v6/postman/collections/sharing_collections   -  person Sivcan Singh    schedule 17.08.2018


Ответы (1)


Создайте

.env: переменная среды, скажем,

url = http://localhost:3000/api

.env.example должен быть

url =

в вашем тестовом вызове:

var local-url = process.env.url;

добавить в свой пакет json

npm установить dotenv

person Shahin    schedule 18.01.2019
comment
Пожалуйста, отредактируйте свое сообщение и исправьте форматирование. Команды кода или оболочки для любой ОС должны быть либо с четырьмя пробелами с отступом, либо с тремя обратными апострофами (`) до и после него. - person Zoe; 19.01.2019