Коллекции тестов по 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
Переменные со своими значениями объявлены в самой коллекции:
Необходимые переменные для работы
Код на вкладке 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
Просмотреть и скачать коллекцию: ссылка на коллекцию
Insomnia
Insomnia (Version: Insomnia 8.4.5, OS: Windows_NT x64 10.0.19045 на момент написания статьи)
Так выглядит коллекция запросов:
Коллекция «Vikunja API» в Insomnia
Переменные со своими значениями объявлены в окружении:
Необходимые переменные для работы
Значения переменных взяты следующим образом:
Пример запроса и ответа от сервера:
PUT Create a task
Просмотреть и скачать коллекцию: ссылка на коллекцию
Заключение
На основе данных примеров показала как составлять запросы и строить структуру коллекции в postman и insomnia.
Внести скрипты проверок — планируется.
Эти примеры помогут больше не только в построении запросов, но и в написании функциональных тест-кейсов по API при обучении и даже на работе.
Благодарю за прочтение.
С уважением, Надежда Дудник (protestinginfo), главный инженер по тестированию в финтехе и ментор по тестированию ПО.
И желаю достичь своей цели!