Gratis Java-bibliotek til automatisk videooptagelse
Open source Java-bibliotek til at integrere Videooptager i din Selenium Grid, optage videoer fra fjernnoder og analysere fejl med konkret visuelt bevis.
Hvad er Videooptager?
Test af brugergrænseflader, især på tværs af forskellige browsere og enheder, kan være som at prøve at fange røg med bare hænder. Når en test fejler, sidder du og kradser dig i hovedet og undrer dig over, hvad der gik galt. Var det et timingproblem? Et manglende element? En mærkelig race condition? Det er her, Video Recorder-biblioteket kommer ind i billedet – et Java‑værktøj, der automatisk optager video af dine UI‑tests med blot et par annotationer. Biblioteket, som er tilgængeligt på GitHub af Sergey Pirogov, gør videooptagelse ekstremt enkelt ved at lade udviklere tilføje nogle få annotationer eller konfigurationer, så optagelsen starter automatisk under testene. I stedet for manuelt at reproducere fejl, kan teams blot se de optagede videoer for at forstå, hvad der skete under testkørslen.
Video Recorder er et open-source Java-bibliotek, der integreres problemfrit med populære testframeworks som JUnit 4/5, TestNG og Spock. I stedet for manuelt at starte og stoppe skærmoptagelser tilføjer du blot en @Video-annotation til dine testmetoder. Biblioteket håndterer resten – starter optagelsen inden din test kører og gemmer videoen ved afslutning, typisk kun når en test fejler (selvom du kan konfigurere det anderledes). Biblioteket bruger enten Monte Media (ren Java, lettere opsætning men begrænsede formater) eller FFmpeg (mere kraftfuld, bedre understøttelse af forskellige codecs og skærmopsætninger) som den underliggende optager. Til fjerntestning, såsom på en Selenium Grid, kan det endda optage video på den fjernnode uden yderligere konfiguration.
Kom i gang med Videooptager
Den anbefalede måde at bruge Video Recorder-biblioteket på er ved at tilføje Maven-afhængighed. Brug venligst følgende kommando for en problemfri funktion.
Maven-afhængighed for Videooptager-biblioteket
<dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>LATEST</version> </dependency>Installer documents4j GitHub
implementation 'com.automation-remarks:video-recorder-junit5:2.0'
Annotation-baseret videooptagelse via Java
En af de største fordele ved det open source Video Recorder-bibliotek er dets annoteringsbaserede design. Udviklere kan aktivere optagelse simpelthen ved at tilføje annoteringer til testklasser eller -metoder. Dette reducerer boilerplate-kode og gør integrationen ligetil for Java-testframeworks som JUnit. @Video-annoteringen starter automatisk optagelsen, før testen begynder, og stopper optagelsen efter afslutning. Der er flere fordele ved dette, såsom minimale kodeændringer, nem adoption og renere testfiler.
Hvordan optager man annoteringsbaseret video via Java-biblioteket?
import com.automation.remarks.video.annotations.Video;
public class LoginTest {
@Video
public void testLogin() {
System.out.println(\"Executing login test...\");
}
}
ustom Video Naming
Tilpasset video navngivning via Java-biblioteket
Det open source Video Recorder-bibliotek gør det muligt for Java-udviklere at anvende tilpassede navnekonventioner for optagelser, hvilket hjælper teams med at organisere optagelser mere effektivt. Dette er nyttigt, når man kører flere testsuiter. Det er meget brugbart og giver fordele som bedre filorganisering, lettere søgning efter artefakter og forbedret rapporteringsintegration. Her er et enkelt eksempel, der viser, hvordan man udfører denne operation.
Hvordan genereres videofil via Java-biblioteket?
@Video(name = \"checkout_flow_test\")
public void checkoutTest() {
System.out.println(\"Checkout process running\");
}
Tilpasset video navngivning via Java-biblioteket
Video Recorder er meget kraftfuld og styrer alt – fra output-mappen og optagemodus (altid, ved fejl, kun annoterede tests) til billedhastighed og skærmstørrelse. Opret en video.properties-fil i din classpath, eller overfør parametre via Maven/Gradle-kommandolinjen. Dette giver dig mulighed for at indstille forskellige optagelsesstrategier for lokal udvikling (optag altid) versus CI (optag kun fejl).
Hvordan anvender man forskellige optageegenskaber ved hjælp af Video Recorder-biblioteket?
# 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-integration for højtydende optagelse
For avancerede brugere kan biblioteket kalde FFmpeg direkte (i stedet for Monte Media). FFmpeg tilbyder lavere CPU-forbrug, flere codecs (H.264, VP9) og muligheden for at optage et specifikt programvindue eller område. Du behøver blot at have FFmpeg installeret på testmaskinen og SendSignalCtrlC.exe‑værktøjet på Windows for en kontrolleret afslutning.