Безкоштовна 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, вона навіть може записувати відео на віддаленому вузлі без додаткових налаштувань.
Початок роботи з відео рекордером
Рекомендований спосіб використання бібліотеки 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 для плавного зупинення.