как получить полный html или json ответ URL-адреса с помощью Newman API

Всякий раз, когда я запускаю следующее из командной строки

newman run https://www.getpostman.com/collections/abcd1234

Я получаю вывод, отображающий статистику сбоев, и выполняю.

Но я ищу полный ответ HTML или JSON с URL-адреса, который будет напечатан на терминале после выполнения вышеуказанного запроса Ньюмана. Как я могу этого добиться?


person chetan honnavile    schedule 01.03.2017    source источник


Ответы (3)


Вы должны добавить некоторый вывод журнала в свои запросы.

Для запросов, в которых вы хотите увидеть вывод ответа, добавьте следующее на вкладке «Тесты почтальона»:

console.log(responseBody); // full response body

Если вы хотите зарегистрировать определенную часть, вам нужно проанализировать тело ответа в объект JSON:

let response = JSON.parse(responseBody);
console.log(reponse.myprop); // part of the full response body

Теперь, если вы запустите эту коллекцию с помощью newman, CLI Reporter также распечатает части журнала консоли.

person Sergej Lopatkin    schedule 06.03.2017
comment
привет, я получаю ReferenceError: responseBody is not defined это потому, что я загружаю коллекцию локально, а не с URL-адресом? - person RobBenz; 29.03.2018

Вам нужно использовать Postman API.

Итак, вам нужно запустить что-то вроде этого

newman run https://api.getpostman.com/collections/myPostmanCollectionUid?apikey=myPostmanApiKey

(см. http://blog.getpostman.com/2018/06/21/newman-run-and-test-your-collections-from-the-command-line/) Вы можете получить ApiKey в своем Postman Cloud . Вам нужно перейти в рабочую область -> Интеграции -> Обзор интеграций -> Postman API Просмотреть подробности -> Детали Получить ключ API / Существующие ключи API

Если вам также нужно добавить среду (если вы используете переменные), вам нужно запустить ту же команду с параметром -e 'newman run https://api.getpostman.com/collections/myPostmanCollectionUid?apikey=myPostmanApiKey -e dev_environment.json'

Но что, если ваша среда тоже находится в облаке? Согласно этому документу https://www.getpostman.com/docs/v6/postman/collection_runs/command_line_integration_with_newman вы можете передать URL как значение. Итак, вы можете запустить что-то вроде этого

newman run https://api.getpostman.com/collections/myPostmanCollectionUid?apikey=myPostmanApiKey -e environments/{{environment_uid}}?apikey=myPostmanApiKey

Это сработало для меня, надеюсь, это поможет

person IrinaT    schedule 21.08.2018

Я использую newman для тестирования веб-сервисов и микросервисов. Это отлично работает для меня.

summary.run.executions[0].response.text().toString()

После выполненного события вы сможете получить ответ.

d — это коллекция, экспортированная из Postman.

newman.run({
            collection: d,
            // reporters: 'cli',
            iterationCount: 1,
            timeoutRequest: 10000,
            timeoutScript: 5000,
            delayRequest: 0,
            insecure: false, 
        }).on('done', (err, summary) => {
            if (err || summary.error) {
                console.error('\ncollection run encountered an error.');
                reject(summary.error);
            }
            else {
                var xml = summary.run.executions[0].response.text().toString();
                console.log(xml)
            }
        })
    })
person Bharath Kumar S    schedule 24.12.2018