1. Товары
  2.   видео
  3.   Java
  4.   Видеозапись
 
  

Бесплатная Java‑библиотека для автоматической видеозаписи

Открытая Java‑библиотека для интеграции Video Recorder в вашу Selenium Grid, захвата видео удалённых узлов и анализа сбоев с конкретными визуальными доказательствами.

Что такое видеорекордер?

Тестирование пользовательских интерфейсов, особенно на разных браузерах и устройствах, может быть похожим на попытку поймать дым голыми руками. Когда тест падает, вы теряетесь, задаваясь вопросом, что пошло не так. Было ли это проблемой синхронизации? Отсутствующим элементом? Странным состоянием гонки? Здесь на помощь приходит библиотека Video Recorder — инструмент на Java, который автоматически захватывает видео ваших UI‑тестов с помощью всего лишь нескольких аннотаций. Библиотека, доступная на GitHub от Сергея Пирогова, делает запись видео чрезвычайно простой, позволяя разработчикам добавить несколько аннотаций или конфигураций, чтобы автоматически начинать запись во время тестов. Вместо того чтобы вручную воспроизводить баги, команды могут просто просматривать записанные видео, чтобы понять, что произошло во время выполнения тестов.

Video Recorder — это открытая Java‑библиотека, которая бесшовно интегрируется с популярными тестовыми фреймворками, такими как JUnit 4/5, TestNG и Spock. Вместо того чтобы вручную запускать и останавливать запись экрана, вы просто добавляете аннотацию @Video к методам тестов. Библиотека делает всё остальное — инициирует запись перед запуском теста и сохраняет видео после завершения, обычно только при провале теста (хотя можно настроить иначе). В качестве базового рекордера библиотека использует либо Monte Media (чистый Java, проще в настройке, но ограниченный набор форматов), либо FFmpeg (мощнее, лучшая поддержка различных кодеков и конфигураций экрана). Для удалённого тестирования, например в Selenium Grid, она может даже записывать видео на удалённом узле без дополнительной конфигурации.

Previous Next

Начало работы с видеорекордером

Рекомендуемый способ использования библиотеки Video Recorder — добавить Maven‑зависимость. Пожалуйста, используйте следующую команду для корректной работы.

Зависимость Maven для библиотеки видеорекордера

<dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>LATEST</version> </dependency>

Установить documents4j GitHub


implementation 'com.automation-remarks:video-recorder-junit5:2.0'

Запись видео на основе аннотаций с помощью Java

Одним из главных преимуществ открытой библиотеки Video Recorder является её аннотационно‑ориентированный дизайн. Разработчики могут включать запись, просто добавляя аннотации к тестовым классам или методам. Это уменьшает количество шаблонного кода и упрощает интеграцию с Java‑тестовыми фреймворками, такими как JUnit. Аннотация @Video автоматически начинает запись перед запуском теста и останавливает её после завершения. Это даёт различные преимущества, такие как минимальные изменения кода, лёгкое внедрение и более чистые тестовые файлы.

Как записать видео, основанное на аннотациях, с помощью Java‑библиотеки?

import com.automation.remarks.video.annotations.Video;

public class LoginTest {

    @Video
    public void testLogin() {
        System.out.println("Executing login test...");
    }
}

ustom Video Naming

Пользовательское именование видео с помощью Java‑библиотеки

Открытая библиотека Video Recorder позволяет Java‑разработчикам использовать пользовательские схемы именования записей, помогая командам более эффективно организовывать видеозаписи. Это полезно при запуске нескольких наборов тестов. Библиотека очень полезна и предоставляет такие преимущества, как лучшая организация файлов, упрощённый поиск артефактов и улучшенная интеграция с отчётами. Ниже приведён простой пример, показывающий, как выполнить эту операцию.

Как сгенерировать видеофайл с помощью Java‑библиотеки?

@Video(name = "checkout_flow_test")
public void checkoutTest() {
    System.out.println("Checkout process running");
}

Пользовательское именование видео с помощью Java‑библиотеки

Video Recorder очень мощный и управляет всем — от папки вывода и режима записи (всегда, при ошибке, только аннотированные тесты) до частоты кадров и размера экрана. Создайте файл video.properties в вашем classpath или передайте параметры через командную строку Maven/Gradle. Это позволяет задавать разные стратегии записи для локальной разработки (записывать всегда) и CI (записывать только при сбоях).

Как применить различные свойства записи с помощью библиотеки Video Recorder?

# Only record tests annotated with @Video (default)
video.mode=ANNOTATED
# Save videos only when a test fails (saves disk space)
video.save.mode=FAILED_ONLY
# Output directory – use an environment variable for CI
video.folder=${user.home}/test-reports/videos
# Frame rate – lower for faster processing, higher for smooth playback
video.frame.rate=15
# Use FFmpeg for better codec support
recorder.type=FFMPEG

Интеграция FFmpeg для высокопроизводительной записи

Для продвинутых пользователей библиотека может вызывать FFmpeg напрямую (вместо Monte Media). FFmpeg обеспечивает более низкое использование ЦП, больше кодеков (H.264, VP9) и возможность записывать конкретное окно приложения или область. Вам просто нужно установить FFmpeg на тестовую машину и утилиту SendSignalCtrlC.exe в Windows для корректных остановок.

 Русский