Мы рады объявить о значительном расширении возможностей нашего продукта: теперь вы можете выполнять Пошаговые API-проверки с использованием Playwright-скриптов! Эта новая функция предоставляет беспрецедентную гибкость и контроль над мониторингом и тестированием ваших API, позволяя вам автоматизировать сложные сценарии непосредственно на нашей платформе.
API являются кровеносными сосудами современных приложений, и их надежность критически важна. Традиционные проверки API часто ограничены одним запросом, что затрудняет тестирование сложных бизнес-процессов, включающих несколько шагов, зависимостей и авторизацию. Именно здесь на помощь приходят пошаговые проверки с Playwright.
Мы позволяем вам запускать ваши собственные Playwright-скрипты, которые могут выполнять цепочки запросов, обрабатывать ответы, извлекать данные и проверять логику. В ответ вы получаете подробный отчет о выполнении с пошаговым протоколом, что значительно упрощает отладку и анализ.
Когда это удобно? Случаи использования
Playwright для API-проверок открывает множество сценариев, которые раньше были сложными или невозможными:
- Комплексные бизнес-процессы: Тестируйте сквозные сценарии, такие как регистрация пользователя, оформление заказа или обновление статуса, которые включают взаимодействие с несколькими API-эндпоинтами.
- Проверка авторизации и аутентификации: Убедитесь, что ваши механизмы авторизации (например, OAuth, JWT) работают корректно, выполняя последовательность запросов с токенами.
- CRUD-операции: Проверяйте создание, чтение, обновление и удаление данных через ваш API, имитируя реальные пользовательские взаимодействия.
- Тестирование зависимостей: Проверяйте, как изменения в одном API влияют на другие, зависящие от него.
- Имитация пользовательских сессий: Создавайте скрипты, которые имитируют полный жизненный цикл сессии пользователя, от входа до выхода.
- Регрессионное тестирование: Автоматически проверяйте, что новые изменения в вашем API не нарушили существующую функциональность.
Почему Playwright — это круто для API-тестирования?
Playwright известен как гибкий инструмент для автоматизации браузеров, но его возможности делают его идеальным инструментом для API-тестирования.
- Мощный и гибкий: Playwright предоставляет интуитивно понятный API для выполнения HTTP-запросов (GET, POST, PUT, DELETE и т.д.), обработки заголовков, параметров и тела запросов/ответов.
- Поддержка JS/TS: Вы можете писать свои скрипты на TypeScript или обычном JavaScript, используя привычный синтаксис. Это означает, что вы можете легко мигрировать существующие API-тесты, написанные на Playwright, на нашу платформу без изменения самих скриптов!
- Интегрированная отчетность: Playwright изначально поддерживает логирование и отчетность, что позволяет нам предоставлять вам подробные пошаговые отчеты о выполнении каждого вашего скрипта.
- Активное сообщество: Playwright имеет огромное и активно развивающееся сообщество, что обеспечивает постоянную поддержку и обновления.
Простой старт с готовыми шаблонами и примеры
Мы понимаем, что начало работы может быть непростым. Именно поэтому в нашем пользовательском интерфейсе (UI) мы предоставляем готовые шаблоны Playwright-скриптов, которые помогут вам быстро освоиться и начать создавать свои собственные проверки.

Давайте рассмотрим пример скрипта Playwright для выполнения комплексных API-операций (CRUD + Auth) на платформе Pingera:
const { test, expect } = require('@playwright/test');
const baseUrl = "https://api.pingera.ru/v1";
const authToken = "YOUR_AUTH_TOKEN"; // Замените на ваш реальный токен
test("Auth + CRUD - Create, Read, Delete Page", async ({ request }) => {
const headers = {
"Authorization": authToken,
"Content-Type": "application/json"
};
// Создание новой страницы
const page = await test.step("Create new page", async () => {
console.log('Попытка отправить POST-запрос на:', `${baseUrl}/pages/`);
try {
const response = await request.post(`${baseUrl}/pages/`, {
headers,
data: {
name: "Test Page " + Date.now(),
page_description: "This is a test page created via API"
}
});
console.log('Успешно получен ответ со статусом:', response.status());
expect(response.ok()).toBe(true);
const pageData = await response.json();
expect(pageData).toHaveProperty("id");
console.log("Создана страница с ID:", pageData.id);
return pageData;
} catch (e) {
console.error('Произошла ошибка во время вызова request.post:', e);
throw e;
}
});
// Получение созданной страницы по ID
await test.step("Get page by ID", async () => {
const response = await request.get(`${baseUrl}/pages/${page.id}`, {
headers
});
expect(response).toBeOK();
const pageData = await response.json();
expect(pageData.id).toBe(page.id);
expect(pageData.name).toBe(page.name);
console.log("Успешно получена страница:", pageData.name);
});
// Удаление страницы
await test.step("Delete page", async () => {
const response = await request.delete(`${baseUrl}/pages/${page.id}`, {
headers
});
expect(response).toBeOK();
console.log("Успешно удалена страница с ID:", page.id);
});
// Проверка удаления страницы
await test.step("Verify page deletion", async () => {
const response = await request.get(`${baseUrl}/pages/${page.id}`, {
headers
});
// Ожидаем 404 или аналогичную ошибку
expect(response.status()).toBe(404);
console.log("Удаление страницы подтверждено - страница не найдена");
});
});
Этот скрипт авторизуется, создает новую Статус Страницу, считывает ее, затем удаляет и проверяет, что страница больше недоступна. Это отличный пример того, как Playwright позволяет тестировать полные циклы взаимодействия с API.
Гибкость запуска: Регулярные проверки и проверки по запросу
Мы предоставляем вам полную гибкость в запуске ваших Playwright-скриптов:
- Регулярные проверки: Настройте автоматические запуски ваших скриптов через определенные интервалы (например, каждые 5 минут), чтобы постоянно мониторить состояние ваших API.
- Проверки по запросу (On-Demand): Запускайте проверки вручную через наш UI или программно через наш API, когда вам это необходимо, например, после развертывания новой версии.
Все это доступно как через наш интуитивно понятный UI, так и через мощный API.
Интеграция с CI/CD: Автоматизация вашего рабочего процесса
Одна из самых мощных особенностей новой функциональности — это возможность легкой интеграции с вашими существующими CI/CD-пайплайнами. Вы можете автоматизировать выполнение Playwright-скриптов как часть вашего процесса развертывания, гарантируя, что каждая новая сборка будет протестирована до выхода в продакшн.
Для этого достаточно отправить простой POST-запрос на наш API для выполнения проверки по запросу:
HTTP
POST https://api.pingera.ru/v1/checks/execute
Тело запроса:
{
"name": "My On-Demand Web Check",
"type": "multistep",
"timeout": 10,
"parameters": {
"pw_script": "ВАШ_PLAYWRIGHT_СКРИПТ_ЗДЕСЬ"
}
}
Вы получите в ответ job_id:
{
"job_id": "masked_job_id",
"message": "Custom check execution queued successfully",
"status": "queued"
}
А затем сможете получить детальные результаты, опрашивая статус задачи, например:
{
"check_id": null,
"check_parameters": {
"interval": 300,
"name": "Test",
"parameters": {
"pw_script": "// Импортируем необходимые модули из библиотеки Playwright...\n"
},
"timeout": 30,
"type": "multistep"
},
"completed_at": "masked_timestamp",
"created_at": "masked_timestamp",
"error_message": null,
"id": "masked_id",
"job_type": "custom_check",
"result": {
"check_id": null,
"check_metadata": {
"execution_time": 2260,
"logs": [
{
"level": "log",
"message": "✅ Тест успешно пройден! Эндпоинт доступен и возвращает непустой результат.",
"timestamp": "masked_timestamp"
}
],
"test_results": [
{
"duration": 130,
"error": null,
"name": "должен успешно получить данные и убедиться, что они не пустые",
"softAssertionErrors": 0,
"status": "passed",
"steps": []
}
],
"test_summary": {
"duration": 130,
"failed": 0,
"passed": 1,
"total": 1
}
},
...
"check_server_id": "masked_server_id",
"error_message": null,
"job_id": "masked_job_id",
"response_time": 2260,
"status": "ok"
},
"started_at": "masked_timestamp",
"status": "completed"
}
Эта глубокая интеграция позволяет вам внедрять тестирование и мониторинг API на каждом этапе вашего цикла разработки.
Почему SaaS-сервис лучше самостоятельного хостинга Playwright?
Возможно, вы задавались вопросом: "Почему бы не хостить Playwright-скрипты самостоятельно?" Ответ кроется в сложности и ресурсоемкости поддержания такой инфраструктуры.
- Отсутствие накладных расходов на инфраструктуру: Вам не нужно беспокоиться о серверах, масштабировании, обновлении ПО и поддержании работоспособности. Мы берем все это на себя.
- Глобальное покрытие: Наши распределенные сервера позволяют запускать проверки из разных географических точек, обеспечивая более реалистичную картину производительности и доступности вашего API для различных регионов. Самостоятельное развертывание такой инфраструктуры является дорогостоящим и трудоемким.
- Автоматические обновления: Мы гарантируем, что вы всегда будете использовать актуальные версии Playwright, без необходимости ручных обновлений и борьбы с несовместимостью.
- Надежность и отказоустойчивость: Наша платформа разработана с учетом высокой доступности и отказоустойчивости, что обеспечивает бесперебойное выполнение ваших проверок.
- Сосредоточьтесь на бизнесе: Вместо того чтобы тратить время и ресурсы на DevOps, вы можете полностью сосредоточиться на написании эффективных тестов и разработке вашего продукта.
- Единая панель управления: Все ваши проверки, отчеты и аналитика доступны в одном месте, что упрощает мониторинг и управление.
Мы уверены, что пошаговые API-проверки с Playwright в платформе Pingera станут незаменимым инструментом в вашем арсенале для обеспечения надежности и качества ваших API. Начните использовать их сегодня и убедитесь в преимуществах!