Перейти к основному содержимому

Пошаговые проверки API

Пошаговые проверки API

Пошаговые проверки API — это мощное расширение синтетических проверок, которое позволяет выполнять сложные сценарии взаимодействия с вашими API. Вместо одной простой проверки вы можете написать собственный скрипт на TypeScript или JavaScript с использованием Playwright, чтобы имитировать многошаговые последовательности запросов.

Это позволяет тестировать не отдельные эндпоинты, а целые бизнес-процессы, такие как аутентификация пользователя, оформление заказа или полный CRUD-цикл.


Где это полезно?

Пошаговые проверки API идеально подходят для сценариев, которые невозможно покрыть одним запросом:

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

Создание пошаговой проверки API

В меню "Проверки" выберите "Пошаговый 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. Читайте больше на страницах: