Gratis Java-bibliotek for automatisk videoopptak
Åpen kildekode Java-bibliotek for å integrere Videoopptaker i ditt Selenium Grid, fange opp video fra eksterne noder, og analysere feil med konkret visuelt bevis.
Hva er Video Recorder?
Testing av brukergrensesnitt, spesielt på tvers av ulike nettlesere og enheter, kan være som å prøve å fange røyk med bare hendene. Når en test feiler, sitter du igjen med å klø deg i hodet og lure på hva som gikk galt. Var det et tidsproblem? Et manglende element? En merkelig race condition? Det er her Video Recorder-biblioteket kommer inn – et Java-verktøy som automatisk fanger video av UI-testene dine med bare noen få annotasjoner. Biblioteket, tilgjengelig på GitHub av Sergey Pirogov, gjør videoinnspilling ekstremt enkelt ved å la utviklere legge til noen få annotasjoner eller konfigurasjoner for å starte opptak automatisk under tester. I stedet for å manuelt gjenskape feil, kan team enkelt se på de innspilte videoene for å forstå hva som skjedde under testkjøringen.
Video Recorder er et åpen kildekode Java-bibliotek som integreres sømløst med populære test‑rammeverk som JUnit 4/5, TestNG og Spock. I stedet for å manuelt starte og stoppe skjermopptak, legger du bare til en @Video‑annotasjon i testmetodene dine. Biblioteket håndterer resten – starter opptak før testen kjører og lagrer videoen ved fullføring, vanligvis kun når en test feiler (selv om du kan konfigurere det annerledes). Biblioteket bruker enten Monte Media (ren Java, enklere oppsett men begrensede formater) eller FFmpeg (kraftigere, bedre støtte for ulike kodeker og skjermoppsett) som underliggende opptaker. For fjern‑testing, som på en Selenium Grid, kan det til og med ta opp video på den eksterne noden uten ekstra konfigurasjon.
Kom i gang med Video Recorder
Den anbefalte måten å bruke Video Recorder‑biblioteket på er ved å legge til en Maven‑avhengighet. Vennligst bruk følgende kommando for en smidig drift.
Maven-avhengighet for Video Recorder-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'
Annotasjonsbasert videoopptak via Java
En av de største fordelene med det åpne kildekode‑biblioteket Video Recorder er dets annotasjons‑drevne design. Utviklere kan aktivere opptak enkelt ved å legge til annotasjoner i testklasser eller -metoder. Dette reduserer boilerplate‑kode og gjør integrasjon enkelt for Java‑testingsrammeverk som JUnit. @Video‑annotasjonen starter automatisk opptak før testen begynner og stopper opptaket etter fullføring. Det er flere fordeler med dette, som minimale kodeendringer, enkel adopsjon og renere testfiler.
Hvordan ta opp annotasjonsbasert 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 videonavngiving via Java‑biblioteket
Det åpne kildekode‑biblioteket Video Recorder gjør det mulig for Java‑utviklere å bruke tilpassede navnekonvensjoner for opptak, og hjelper team med å organisere opptak mer effektivt. Dette er nyttig når man kjører flere testpakker. Det er svært nyttig og gir fordeler som bedre filorganisering, enklere søk etter artefakter og forbedret rapporteringsintegrasjon. Her er et enkelt eksempel som viser hvordan man utfører denne operasjonen.
Hvordan generere videofil via Java‑biblioteket?
@Video(name = "checkout_flow_test")
public void checkoutTest() {
System.out.println("Checkout process running");
}
Tilpasset videonavngiving via Java‑biblioteket
Video Recorder er svært kraftig og kontrollerer alt – fra utdata‑mappen og opptaksmodus (alltid, ved feil, kun annoterte tester) til bildefrekvens og skjermstørrelse. Opprett en video.properties‑fil i klassestien din, eller send parametere via Maven/Gradle‑kommandolinjen. Dette gjør det mulig å sette ulike opptaksstrategier for lokal utvikling (alltid opptak) versus CI (kun opptak ved feil).
Hvordan bruke ulike opptaksegenskaper med 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-integrasjon for høyytelsesopptak
For avanserte brukere kan biblioteket kalle FFmpeg direkte (i stedet for Monte Media). FFmpeg gir lavere CPU‑bruk, flere kodeker (H.264, VP9), og muligheten til å ta opp et spesifikt programvindu eller område. Du trenger bare FFmpeg installert på testmaskinen og SendSignalCtrlC.exe‑verktøyet på Windows for jevne stopp.