Коллекции тестов по API в Postman и в Insomnia

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Коллеги, все желаю хорошего дня.

Для начинающих специалистов по тестированию

Автор: Надежда Дудник

Недавно я делилась информацией как составлять тест-кейсы по бэкенду (читать статью Шаблоны тест-кейсов по API, тест-кейсы по идемпотентности).

Сейчас хочу продемонстрировать примеры создания запросов по данным тест-кейсов для сайта:

UI: https://try.vikunja.io/login
API documentation: https://try.vikunja.io/api/v1/docs

Разберем следующие функциональные проверки на API:

Регистрация нового пользователя
Регистрация с существующим username
Регистрация с существующим email
Успешная авторизация и получение токена
Создание project (проекта)
Получение информации проекта по id
Обновление проекта по id
Удаление проекта по id
Создание task (задачи)
Получение всех задач в проекте
Получение инфомации задачи по id
Обновление задачи по id
Удаление задачи по id
Добавление label в task (можно добавить несколько)
Создание label (метки)
Получение всех меток в задаче
Получение информации метки по id
Обновление метки по id
Удаление метки по id

Создание запросов на основе тест-кейсов в инструментах:

Postman

Postman (Version 10.20.3, OS platform win32 10.0.19045 на момент написания статьи)

Так выглядит коллекция запросов:

Коллекция "Vikunja API" в Postman
Коллекция "Vikunja API" в Postman

Переменные со своими значениями объявлены в самой коллекции:

Необходимые переменные для работы
Необходимые переменные для работы

Код на вкладке Tests для установки переменных в коллекцию:

в запросе POST Login

var jsonData = JSON.parse(responseBody);
pm.collectionVariables.set("token", jsonData.token);

Токен можно объявить или через вкладку "Headers" как Authorization: Bearer {{token}} 
или
через вкладку "Authorization" -> type 'Bearer Token'
в запросе PUT Creates a new project

var jsonData = JSON.parse(responseBody);
pm.collectionVariables.set("project_id", jsonData.id);
в запросе PUT Create a task

var jsonData = JSON.parse(responseBody);
pm.collectionVariables.set("task_id", jsonData.id);
в запросе PUT Create a label

var jsonData = JSON.parse(responseBody);
pm.collectionVariables.set("label_id", jsonData.id);

Пример запроса и ответа от сервера:

PUT Create a task
PUT Create a task

Просмотреть и скачать коллекцию: ссылка на коллекцию

Insomnia

Insomnia (Version: Insomnia 8.4.5, OS: Windows_NT x64 10.0.19045 на момент написания статьи)

Так выглядит коллекция запросов:

Коллекция "Vikunja API" в Insomnia
Коллекция "Vikunja API" в Insomnia

Переменные со своими значениями объявлены в окружении:

Необходимые переменные для работы
Необходимые переменные для работы

Значения переменных взяты следующим образом:

пример редактирования переменной: более подробно можно почитать здесь
пример редактирования переменной: более подробно можно почитать здесь

Пример запроса и ответа от сервера:

PUT Create a task
PUT Create a task

Просмотреть и скачать коллекцию: ссылка на коллекцию

Заключение

На основе данных примеров показала как составлять запросы и строить структуру коллекции в postman и insomnia.

Внести скрипты проверок - планируется.

Эти примеры помогут больше не только в построении запросов, но и в написании функциональных тест-кейсов по API при обучении и даже на работе.

Благодарю за прочтение.

С уважением, Надежда Дудник (protestinginfo), главный инженер по тестированию в финтехе и ментор по тестированию ПО.

И желаю достичь своей цели!

Источник: https://habr.com/ru/articles/779918/


Интересные статьи

Интересные статьи

Поговорим про документацию АБ-тестов.Я работал в разных компаниях продакт аналитиком, все они, естественно, проводят много экспериментов. У каждой команды свои методы и любимые критерии, но сейчас не ...
Эта глава является продолжением главы "Введение в приёмочные тесты". Готовый код этой главы можно найти на GitHub.Приёмочные тесты очень важны, они напрямую влияют на вашу способность уверенно развива...
Однажды инженер Василий проснулся и понял, что больше не может ждать эти бесконечные пайплайны.Чтобы отделить ощущения от реальности, он начал собирать статистику — сколько ходят пайпланы, сколько вып...
Это история про то, как нам удалось написать довольно сложную business-critical систему, и добиться, чтобы она была стабильной даже без юнит-тестов (WAT?!).
Перед внедрением в продуктивную среду, любое программное решение необходимо тщательно протестировать, чтобы составить мнение о стабильности его работы, а также о том, насколько оно подходит под потреб...