Nightwatch

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: nightwatch.io

Nightwatch — инструмент для автоматизированного тестирования приложений на платформе Node.js, разработанный для выполнения сквозного (end-to-end), компонентного, API и визуального тестирования. Он реализует взаимодействие с браузерами через протокол W3C WebDriver и предоставляет набор средств для написания, выполнения и организации тестов с использованием JavaScript. Nightwatch ориентирован на интеграцию с экосистемой Node.js и включает возможности запуска тестов локально и в распределённых средах.

Проект возник как решение для упрощения автоматизации браузерного тестирования, сочетая декларативную конфигурацию, встроенные команды и поддержку асинхронного выполнения. В его развитии участвовали сообщество разработчиков и организации, заинтересованные в стандартизации подходов к написанию автотестов для веб-интерфейсов. В дополнение к свободно распространяемому инструменту, под брендом Nightwatch предлагается коммерческая платформа для мониторинга и управления тестированием, включающая функции мониторинга SEO и облачного запуска тестов.

  • Протокол: взаимодействие с браузерами реализовано через W3C WebDriver, что обеспечивает совместимость с основными браузерами и драйверами.
  • Среда выполнения: построен на Node.js, поддерживает современные механизмы асинхронного кода JavaScript и интеграцию с пакетным менеджером npm.
  • Типы тестирования: поддержка сквозных (E2E), компонентных, API и визуальных тестов.
  • Язык тестов: тесты пишутся на JavaScript, с возможностью использования синтаксиса промисов и async/await.
  • Структура и организация: предоставляет структуру каталогов и конфигураций для группировки тестов, управления окружениями и параметрами запуска.
  • Встроенные команды и assertions: набор команд для взаимодействия с элементами страницы и проверки состояний, а также механизмы для расширения пользовательскими командами и ассертами.
  • Параллельный запуск: поддержка параллельного выполнения тестов для ускорения прогонов на локальных и удалённых серверах.
  • Интеграция с CI/CD: совместимость с распространёнными системами непрерывной интеграции и возможностью автоматического запуска тестов в пайплайнах.
  • Отчётность: формирование результатов тестов в различных форматах и возможности для подключения сторонних репортеров.
  • Расширяемость: плагины и возможность написания собственных утилит для адаптации под специфические требования проекта.
Подробнее