Skip to content

Простые встроенные автотесты в Postman

Postman имеет свои встроенные автотесты или сниппеты, которые ты можешь использовать для тестирования. Давай рассмотрим их работу.

Если мы откроем вкладку “Tests”, внимание привлечет список справа - Snippets.

Это те самые встроенные автотесты, которые помогут в написании тестов, прогоняемых в раннере. Сниппеты все разные и можно выбрать те, которые обеспечат максимальное покрытие запроса тестами, кастомизировав их под свой кейс. Например:

- проверить статус-код ответа

- проверить наличие string строки в ответе или конкретного значения внутри JSON

- проверить время ответа

- проверить наличие определенного заголовка в ответе

- конвертировать XML ответ в JSON объект

Давай попробуем прописать свои тесты на какой-либо запрос.

Рассмотрим сниппеты на примере запроса в папке “Request methods”, называемого “Get request”.

1. Для начала нам нужно очистить все тесты, которые там были прописаны до нас.

2. После этого выполнить успешный запрос кнопкой “Send”.

3. В сниппетах нужно выбрать “Status code is 200” и автоматически подставляется схема теста. Если нужен какой-либо другой код ответа, просто правим его руками с 200 на любой другой, в зависимости от положительного сценария.

4. Далее нужно выбрать “Response time is less than 200ms” сниппет, чтобы проверить время ответа. Поскольку нам пришло значение в 998ms, будем считать, что валидное значение — 1000ms (надёжнее было бы заглянуть в нефункциональные требования). Правим это в коде теста, который подставляется автоматически после нажатия на сниппет.

Последний тест будет на проверку верно пришедшего body JSON.

5. Нужно выбрать сниппет “response body: is equal to a string”. Название у теста автоматически назначается “Body is correct”. Сделаем проверку на то, что в body пришли следующие значения:

“args”: {

“foo1”: “bar1”,

“foo2”: “bar2”

},

В итоге тест будет выглядеть следующим образом:

pm.test(“response body has json with request queries”, function () {

pm.response.to.have.jsonBody(‘args.foo1’, ‘bar1’)

.and.have.jsonBody(‘args.foo2’, ‘bar2’);

});

(Стоит обратить внимание, что перед “body” мы прописали “json”, т.к. ответ приходит именно в json-формате)

6. В итоге все 3 теста будут иметь следующий вид:

Если выполнить запрос, внизу во вкладке “Test Results” будет 3/3 успешных. Можно смело переходить к следующему запросу и прописывать ему свои тесты. А далее, через Postman Runner прогонять все свои запросы и тесты, когда это потребуется.

С полной версией статьи ты можешь ознакомиться по ссылке.

Рекомендуем также ознакомиться с дополнительными материалами по теме:

Postman для тестировщика | Автотесты в Postman | Postman урок #3;

Обзор Postman | Автотесты Postman | Урок #1;

Урок 28 / QA с Нуля / POSTMAN ДЛЯ ТЕСТИРОВЩИКА (Часть 4) / Автотесты;

Postman. Создание коллекции авто-тестов API