Пошаговые проверки API
Пошаговые проверки API
Пошаговые проверки API — это мощное расширение синтетических проверок, которое позволяет выполнять сложные сценарии взаимодействия с вашими API. Вместо одной простой проверки вы можете написать собственный скрипт на TypeScript или JavaScript с использованием Playwright, чтобы имитировать многошаговые последовательности запросов.
Это позволяет тестировать не отдельные эндпоинты, а целые бизнес-процессы, такие как аутентификация пользователя, оформление заказа или полный CRUD-цикл.
Где это полезно?
Пошаговые проверки API идеально подходят для сценариев, которые невозможно покрыть одним запросом:
- Тестирование авторизации: Выполнить запрос на логин, получить токен (JWT), и использовать этот токен в заголовках последующих запросов к защищённым ресурсам.
- Проверка CRUD-операций: Создать запись (POST), прочитать её (GET), обновить (PUT/PATCH), а затем удалить (DELETE), убеждаясь в корректности каждого шага.
- Сценарии E-commerce: Добавить товар в корзину, проверить содержимое корзины, перейти к оформлению заказа.
- Сложные бизнес-процессы: Любые последовательности действий, где результат одного запроса используется в следующем.
Создание пошаговой проверки API
В меню "Проверки" выберите "Пошаговый API".
Вам нужно будет указать название проверки и написать скрипт в редакторе.

Минимальный интервал для пошаговых проверок составляет 30 секунд.
Написание скрипта
Вы можете писать код на TypeScript или JavaScript. Наша платформа выполнит его в окружении Playwright.
Ваш скрипт должен содержать логику проверки. Вот простой пример для проверки API:
// Импортируем необходимые модули из библиотеки Playwright
const { test, expect } = require('@playwright/test');
test.describe('Тестирование API эндпоинта get-templates', () => {
test('должен успешно получить данные и убедиться, что они не пустые', async ({ request }) => {
const apiUrl = 'https://api.pingera.ru/v1/pages/get-templates';
try {
const response = await request.get(apiUrl);
expect(response.ok(), 'API эндпоинт должен быть доступен и возвращать успешный статус.').toBeTruthy();
const responseBody = await response.json();
expect(typeof responseBody, 'Тело ответа должно быть объектом.').toBe('object');
expect(responseBody).not.toBeNull();
expect(Array.isArray(responseBody), 'Тело ответа не должно быть массивом.').toBe(false);
expect(Object.keys(responseBody).length, 'Объект с шаблонами не должен быть пустым.').toBeGreaterThan(0);
console.log('✅ Тест успешно пройден! Эндпоинт доступен и возвращает непустой результат.');
} catch (error) {
console.error('❌ Произошла ошибка во время выполнения теста:', error);
throw error;
}
});
});
Наша система автоматически отследит все сетевые запросы, логи консоли и результат выполнения expect, чтобы предоставить вам детальный отчёт.
Использование шаблонов
Чтобы помочь вам быстро начать, мы подготовили несколько шаблонов для самых популярных сценариев. Вы можете выбрать шаблон и адаптировать его под свой API.
Доступные шаблоны включают:
- Полный CRUD-цикл с авторизацией: Шаблон для последовательности запросов POST, GET, PUT, DELETE.
- До и После: Проверка с beforeAll/afterAll для бутсрапа и последующей очистки.
и другие.
Вы можете выбрать шаблон при создании новой пошаговой проверки.
Анализ результатов
После каждого выполнения проверки вы получаете подробный отчёт, который включает:
- Статус выполнения: Успех или ошибка.
- Логи: Все выводы console.log из вашего скрипта.
- Трассировка ошибки: Если проверка не удалась, мы покажем точное место в коде и причину сбоя.
Оповещения
Оповещения для синтетических проверок настраиваются так же, как и для других типов проверок. Вы можете управлять каналами оповещений в разделе "Оповещения" -> "Каналы оповещений".
API
Как и любые другие проверки, синтетические чеки можно запускать и создавать через API. Читайте больше на страницах: