Безплатна Java библиотека за автоматично записване на видео
Отворена Java библиотека за интегриране на Video Recorder във вашата Selenium мрежа, заснемане на видеа от отдалечени възли и анализиране на грешки с конкретни визуални доказателства.
Какво е Video Recorder?
Тестването на потребителски интерфейси, особено върху различни браузъри и устройства, може да бъде като опит да хванеш дим с голи ръце. Когато тестът се провали, оставаш да се чудиш какво се е объркало. Беше ли проблем със синхронизацията? Липсващ елемент? Странно състезание между процеси? Тук идва библиотеката Video Recorder – Java инструмент, който автоматично записва видео от вашите UI тестове само с няколко анотации. Библиотеката, достъпна в GitHub от Сергей Пирогов, прави записването на видео изключително просто, като позволява на разработчиците да добавят няколко анотации или конфигурации, за да стартират запис автоматично по време на тестовете. Вместо ръчно да възпроизвеждат бъгове, екипите могат просто да гледат записаните видеа, за да разберат какво се е случило по време на изпълнението на тестовете.
Video Recorder е отворена Java библиотека, която се интегрира безпроблемно с популярни тестови рамки като JUnit 4/5, TestNG и Spock. Вместо ръчно стартиране и спиране на записите на екрана, просто добавяте анотация @Video към вашите тестови методи. Библиотеката се грижи за останалото – инициира запис преди тестът ви да се изпълни и запазва видеото след завършване, обикновено само когато тестът се провали (въпреки че можете да я конфигурирате по друг начин). Библиотеката използва или Monte Media (чист Java, по‑лесна настройка, но ограничени формати) или FFmpeg (по‑мощен, по‑добра поддръжка за различни кодеци и настройки на екрана) като подлежащ записвач. За отдалечено тестване, като в Selenium Grid, може дори да записва видео на отдалечения възел без допълнителна конфигурация.
Започване с Video Recorder
Препоръчителният начин за използване на библиотеката Video Recorder е чрез добавяне на Maven зависимост. Моля, използвайте следната команда за безпроблемна работа.
Maven зависимост за библиотеката Video Recorder
<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 Library?
# 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 за плавно спиране.