Синтетические проверки
Синтетические проверки
Синтетические проверки позволяют вам отслеживать состояние веб-сайтов и сервисов, имитируя реальное взаимодействие пользователя. Мы используем популярный фреймворк Playwright для выполнения этих браузерных скриптов, что даёт возможность не только проверять доступность, но и глубоко анализировать производительность и корректность работы ваших сервисов.
Синтетические проверки используются для превентивного выявления проблем, которые могут повлиять на взаимодействие пользователей с сервисом.
- Мониторинг критических пользовательских сценариев: Автоматизированная проверка полного цикла таких операций, как регистрация нового пользователя, вход в систему, процесс оформления заказа или отправка форм обратной связи. Это обеспечивает непрерывную работоспособность ключевых бизнес-функций.
- Оценка производительности и времени отклика: Регулярное измерение времени загрузки веб-страниц и выполнения асинхронных запросов (AJAX). Позволяет оперативно реагировать на ухудшение пользовательского опыта из-за проблем с производительностью.
- Глобальный мониторинг доступности: Запуск проверок из различных географических локаций для подтверждения доступности и стабильной работы сервиса для пользователей по всему миру.
Эти проверки являются ключевым инструментом для Site Reliability Engineers (SRE), DevOps-специалистов и QA-инженеров в обеспечении высокого качества и надёжности веб-приложений.
Создание и запуск проверок
Мы предоставляем гибкие возможности для создания синтетических проверок с использованием ваших собственных Playwright скриптов. Вы можете писать скрипты на JavaScript (.js) или TypeScript (.tsx), что позволяет реализовать практически любой сценарий взаимодействия с вашим сайтом.
Пример простого скрипта для проверки доступности pingera.ru:
const { test, expect } = require('@playwright/test');
test('Проверка доступности и заголовка главной страницы Pingera', async ({ page }) => {
// Переходим на сайт
await page.goto('https://pingera.ru/');
// Подождем загрузки
await page.waitForLoadState('networkidle');
// Ожидаем, что заголовок страницы содержит определённый текст
await expect(page).toHaveTitle(/Pingera/);
// Делаем скриншот для визуальной проверки
await page.screenshot({ path: 'screenshot_pingera_main.jpg' });
});
Как добавить проверку в интерфейсе
- Перейдите в раздел Проверки в главном меню.
- Нажмите на кнопку «Добавить проверку».
- В модальном окне выберите «Синтетическая проверка».
Далее у вас будет выбор: использовать один из наших готовых шаблонов для типовых задач или вставить свой собственный скрипт в редактор.

После настройки скрипта вы можете запустить проверку немедленно, чтобы убедиться в её корректности, или создать регулярную проверку, которая будет выполняться с заданной периодичностью.
Изменения от 09.07.2025: все проверки, созданные до 9 июля 2025 года, были автоматически сконвертированы в новые синтетические проверки на базе Playwright. Эти скрипты полностью повторяют логику, которая была заложена в предыдущих версиях проверок.
Работа со скриншотами
Наш рантайм упрощает создание и хранение скриншотов. Чтобы сделать снимок страницы в определённый момент выполнения теста, просто добавьте в ваш скрипт команду:
await page.screenshot({ path: 'screenshot_before_login.jpg' });
Вам не нужно беспокоиться о хранении — мы автоматически сохраним изображение и прикрепим его к результатам проверки.
Важные моменты:
- Вы можете сделать не более 10 скриншотов за один запуск теста.
- В случае сбоя или падения теста, мы автоматически делаем скриншот последнего состояния страницы, чтобы помочь вам быстрее диагностировать проблему.
Таймауты и ресурсы
- Для каждой синтетической проверки мы выделяем 2.6 GB оперативной памяти. Этого объёма достаточно для выполнения самых сложных сценариев на вашем сайте. Если лимит будет превышен, вы получите уведомление об исчерпании памяти или проверка завершится ошибкой таймаута.
- Максимальное время ожидания (таймаут) для всех проверок составляет 30 секунд. Если этого времени недостаточно для выполнения ваших задач, пожалуйста, свяжитесь с нашей службой поддержки.
Оповещения
Оповещения для синтетических проверок настраиваются так же, как и для других типов проверок. Вы можете управлять каналами оповещений в разделе "Оповещения" -> "Каналы оповещений".
API
Как и любые другие проверки, синтетические чеки можно запускать и создавать через API. Читайте больше на страницах:
Результаты проверки
Каждый запуск синтетической проверки предоставляет подробный отчёт, который поможет вам проанализировать не только успешность выполнения, но и производительность вашего приложения. Отчёт разделён на несколько логических блоков.
1. Сводка и скриншоты
В верхней части отчёта вы найдёте общую информацию о проверке:
- Время выполнения: Общее время, затраченное на выполнение всего Playwright скрипта.
- Скриншоты: Галерея всех скриншотов, которые были сделаны во время теста с помощью команды
page.screenshot().
2. Детализация навигации и производительности
Этот раздел содержит детальную информацию о каждом переходе по страницам, выполненном в ходе теста.

Сетевые тайминги
- DNS запрос: Поиск IP-адреса по доменному имени.
- TCP соединение: Установка TCP-соединения с сервером.
- SSL соединение: Установка защищённого SSL/TLS соединения.
- Запрос: Время ожидания ответа от сервера.
- Ответ: Время ответа от сервера.
Загруженные ресурсы
Полный список всех файлов (ассетов), которые браузер скачал при открытии страницы. Для каждого ресурса указывается его URL, тип (скрипт, изображение, стиль и т.д.), HTTP-код ответа и заголовки. Заголовки можно посмотреть кликнув на строке с файлом.
Web Vitals
Core Web Vitals (CWV) – это набор ключевых метрик, разработанных Google для измерения реального пользовательского опыта на веб-страницах. Они являются частью факторов ранжирования Google, влияющих на позицию сайта в поисковой выдаче.
- TTFB (Time to First Byte): Время до первого байта. Метрика измеряет, как быстро сервер отвечает на запрос. Долгое значение TTFB может указывать на проблемы на стороне бэкенда.
- FCP (First Contentful Paint): Первая отрисовка контента. Показывает, сколько времени проходит до того, как пользователь увидит на экране первый элемент контента (текст, изображение,
canvas). - LCP (Largest Contentful Paint): Отрисовка крупнейшего элемента. Измеряет время до появления в области просмотра самого большого видимого элемента контента. Эта метрика хорошо отражает воспринимаемую скорость загрузки страницы.
3. Логи выполнения
Если в вашем Playwright скрипте присутствуют команды вывода в консоль (например, console.log('User logged in successfully');), весь этот вывод будет перехвачен и отображён в данном разделе. Это полезно для отладки и пошагового анализа выполнения вашего сценария.
4. Трассировка
Когда ваш Playwright тест завершается с ошибкой, мы автоматически записываем полную трассировку выполнения (trace) и загружаем её в безопасное хранилище. Трассировка Playwright — это инструмент для отладки, который содержит подробную информацию о каждом действии теста, скриншоты, состояние DOM, сетевую активность и многое другое.

Как использовать трассировку
После неудачного выполнения проверки вы увидите в интерфейсе кнопку для скачивания файла трассировки. Скачайте файл с расширением .zip и используйте один из следующих способов для его анализа:
Способ 1: Онлайн-просмотр Перейдите на trace.playwright.dev и загрузите скачанный файл трассировки. Вы сразу увидите интерактивный интерфейс с временной шкалой всех действий теста.

Способ 2: Локальный просмотр через командную строку
npx playwright show-trace trace-file-name.zip
Эта команда откроет локальный веб-интерфейс для просмотра трассировки в вашем браузере.
Что содержит трассировка
- Временная шкала действий: Полная последовательность всех шагов теста с точными таймингами
- Скриншоты: Визуальное состояние страницы на каждом этапе
- Снимки DOM: Полная структура HTML-документа в момент каждого действия
- Сетевая активность: Все HTTP-запросы и ответы
- События и логи консоли: Сообщения об ошибках и отладочная информация
- Стек вызовов: Точное место в коде, где произошла ошибка
Трассировка позволяет воспроизвести выполнение теста шаг за шагом и быстро найти причину сбоя, даже если проблема непостоянна или сложно воспроизводима.
Мы храним трассировки максимум 30 дней. По истечении этого срока они автоматически удаляются из хранилища.