Простые встроенные автотесты в 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) / Автотесты;