Darmowa biblioteka Java do automatycznego nagrywania wideo
Otwarta biblioteka Java do integracji Video Recorder z Twoją siatką Selenium, przechwytywania wideo z zdalnych węzłów i analizowania niepowodzeń przy użyciu konkretnych dowodów wizualnych.
Co to jest rejestrator wideo ?
Testowanie interfejsów użytkownika, szczególnie na różnych przeglądarkach i urządzeniach, może być jak próba złapania dymu gołymi rękami. Gdy test nie powiedzie się, zostajesz z głową pełną pytań, zastanawiając się, co poszło nie tak. Czy to problem z synchronizacją? Brakujący element? Dziwna sytuacja wyścigu? Właśnie tutaj wkracza biblioteka Video Recorder – narzędzie Java, które automatycznie nagrywa wideo z testów UI przy użyciu kilku adnotacji. Biblioteka, dostępna na GitHubie autorstwa Sergeya Pirogova, sprawia, że nagrywanie wideo jest niezwykle proste, pozwalając deweloperom dodać kilka adnotacji lub konfiguracji, aby automatycznie rozpocząć nagrywanie podczas testów. Zamiast ręcznie odtwarzać błędy, zespoły mogą po prostu obejrzeć nagrane filmy, aby zrozumieć, co wydarzyło się podczas wykonywania testu.
Video Recorder jest otwarto‑źródłową biblioteką Java, która bezproblemowo integruje się z popularnymi frameworkami testowymi, takimi jak JUnit 4/5, TestNG i Spock. Zamiast ręcznie rozpoczynać i zatrzymywać nagrania ekranu, wystarczy dodać adnotację @Video do metod testowych. Biblioteka zajmuje się resztą – rozpoczyna nagrywanie przed uruchomieniem testu i zapisuje wideo po jego zakończeniu, zazwyczaj tylko w przypadku niepowodzenia testu (choć można to skonfigurować inaczej). Biblioteka używa jako rejestratora Monte Media (czysta Java, łatwiejsza konfiguracja, ale ograniczone formaty) lub FFmpeg (bardziej zaawansowany, lepsze wsparcie dla różnych kodeków i konfiguracji ekranu). W testach zdalnych, np. w Selenium Grid, może nawet nagrywać wideo na zdalnym węźle bez dodatkowej konfiguracji.
Rozpoczęcie pracy z rejestratorem wideo
Zalecany sposób użycia biblioteki Video Recorder to dodanie zależności Maven. Proszę użyć poniższego polecenia, aby wszystko działało płynnie.
Zależność Maven dla biblioteki rejestratora wideo
<dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>LATEST</version> </dependency>Zainstaluj documents4j GitHub
implementation 'com.automation-remarks:video-recorder-junit5:2.0'
Nagrywanie wideo oparte na adnotacjach za pomocą Javy
Jedną z największych zalet otwartoźródłowej biblioteki Video Recorder jest jej projekt oparty na adnotacjach. Programiści mogą włączyć nagrywanie po prostu dodając adnotacje do klas lub metod testowych. To zmniejsza ilość kodu szkieletowego i ułatwia integrację z frameworkami testowymi Javy, takimi jak JUnit. Adnotacja @Video automatycznie rozpoczyna nagrywanie przed rozpoczęciem testu i zatrzymuje je po zakończeniu. Istnieje wiele korzyści, takich jak minimalne zmiany w kodzie, łatwe przyjęcie i czystsze pliki testowe.
Jak nagrać wideo oparte na adnotacjach przy użyciu biblioteki Java?
import com.automation.remarks.video.annotations.Video;
public class LoginTest {
@Video
public void testLogin() {
System.out.println("Executing login test...");
}
}
ustom Video Naming
Niestandardowe nazewnictwo wideo przy użyciu biblioteki Java
Otwarta biblioteka Video Recorder umożliwia programistom Javy stosowanie własnych konwencji nazewnictwa nagrań, pomagając zespołom lepiej organizować nagrania. Jest to przydatne przy uruchamianiu wielu zestawów testów. Jest bardzo użyteczna i zapewnia korzyści takie jak lepsza organizacja plików, łatwiejsze wyszukiwanie artefaktów oraz ulepszona integracja raportowania. Oto prosty przykład, który pokazuje, jak wykonać tę operację.
Jak wygenerować plik wideo przy użyciu biblioteki Java?
@Video(name = "checkout_flow_test")
public void checkoutTest() {
System.out.println("Checkout process running");
}
Niestandardowe nazewnictwo wideo przy użyciu biblioteki Java
Video Recorder jest bardzo potężny i kontroluje wszystko – od folderu wyjściowego i trybu nagrywania (zawsze, przy niepowodzeniu, tylko testy oznaczone adnotacjami) po liczbę klatek na sekundę i rozmiar ekranu. Utwórz plik video.properties w classpath lub przekaż parametry w wierszu poleceń Maven/Gradle. Pozwala to ustawić różne strategie nagrywania dla lokalnego rozwoju (zawsze nagrywaj) versus CI (nagrywaj tylko niepowodzenia).
Jak zastosować różne właściwości nagrywania przy użyciu biblioteki 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
Integracja FFmpeg dla nagrywania o wysokiej wydajności
Dla zaawansowanych użytkowników biblioteka może wywoływać FFmpeg bezpośrednio (zamiast Monte Media). FFmpeg oferuje niższe zużycie CPU, więcej kodeków (H.264, VP9) oraz możliwość nagrywania konkretnego okna aplikacji lub regionu. Wystarczy mieć zainstalowany FFmpeg na maszynie testowej oraz narzędzie SendSignalCtrlC.exe w systemie Windows, aby umożliwić płynne zatrzymanie.