Bibliothèque Java gratuite pour l'enregistrement vidéo automatique
Bibliothèque Java open source pour intégrer l'Enregistreur vidéo à votre Selenium Grid, capturer les vidéos des nœuds distants et analyser les échecs avec des preuves visuelles concrètes.
Qu'est-ce que l'enregistreur vidéo ?
Tester les interfaces utilisateur, surtout sur différents navigateurs et appareils, peut ressembler à essayer d’attraper de la fumée à mains nues. Lorsqu’un test échoue, on se gratte la tête en se demandant ce qui s’est mal passé. Était‑ce un problème de synchronisation ? Un élément manquant ? Une condition de course étrange ? C’est là que la bibliothèque Video Recorder intervient – un outil Java qui capture automatiquement la vidéo de vos tests UI avec seulement quelques annotations. La bibliothèque, disponible sur GitHub par Sergey Pirogov, rend l’enregistrement vidéo extrêmement simple en permettant aux développeurs d’ajouter quelques annotations ou configurations pour démarrer l’enregistrement automatiquement pendant les tests. Au lieu de reproduire manuellement les bugs, les équipes peuvent simplement regarder les vidéos enregistrées pour comprendre ce qui s’est passé pendant l’exécution des tests.
Video Recorder est une bibliothèque Java open-source qui s'intègre parfaitement aux frameworks de test populaires tels que JUnit 4/5, TestNG et Spock. Au lieu de démarrer et d'arrêter manuellement les enregistrements d'écran, il suffit d'ajouter l'annotation @Video à vos méthodes de test. La bibliothèque se charge du reste – elle lance l'enregistrement avant l'exécution du test et sauvegarde la vidéo à la fin, généralement uniquement lorsqu'un test échoue (bien que vous puissiez le configurer autrement). La bibliothèque utilise soit Monte Media (Java pur, configuration plus simple mais formats limités) soit FFmpeg (plus puissant, meilleure prise en charge des différents codecs et configurations d'écran) comme enregistreur sous-jacent. Pour les tests à distance, par exemple sur un Selenium Grid, elle peut même enregistrer la vidéo sur le nœud distant sans configuration supplémentaire.
Premiers pas avec l'enregistreur vidéo
La façon recommandée d'utiliser la bibliothèque Video Recorder est d'ajouter la dépendance Maven. Veuillez utiliser la commande suivante pour un fonctionnement fluide.
Dépendance Maven pour la bibliothèque d'enregistreur vidéo
<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'
Enregistrement vidéo basé sur l'annotation via Java
L'un des plus grands avantages de la bibliothèque open source Video Recorder est sa conception basée sur les annotations. Les développeurs peuvent activer l'enregistrement simplement en ajoutant des annotations aux classes ou méthodes de test. Cela réduit le code boilerplate et rend l'intégration simple pour les frameworks de test Java tels que JUnit. L'annotation @Video démarre automatiquement l'enregistrement avant le début du test et l'arrête après son achèvement. Il y a plusieurs avantages, tels que des modifications de code minimales, une adoption facile et des fichiers de test plus propres.
Comment enregistrer une vidéo basée sur les annotations via la bibliothèque Java ?
import com.automation.remarks.video.annotations.Video;
public class LoginTest {
@Video
public void testLogin() {
System.out.println("Executing login test...");
}
}
Nommage vidéo personnalisé
Nommage vidéo personnalisé via la bibliothèque Java
La bibliothèque open source Video Recorder permet aux développeurs Java d'appliquer des conventions de nommage personnalisées pour les enregistrements, aidant les équipes à organiser les enregistrements plus efficacement. Ceci est utile lors de l'exécution de plusieurs suites de tests. C'est très utile et offre des avantages tels qu'une meilleure organisation des fichiers, une recherche d'artefacts plus facile et une intégration de reporting améliorée. Voici un exemple simple qui montre comment effectuer cette opération.
Comment générer un fichier vidéo via la bibliothèque Java ?
@Video(name = "checkout_flow_test")
public void checkoutTest() {
System.out.println("Checkout process running");
}
Nommage vidéo personnalisé via la bibliothèque Java
Video Recorder est très puissant et contrôle tout – du dossier de sortie et du mode d'enregistrement (toujours, en cas d'échec, uniquement les tests annotés) au taux de trame et à la taille de l'écran. Créez un fichier video.properties dans votre classpath, ou passez des paramètres via la ligne de commande Maven/Gradle. Cela vous permet de définir différentes stratégies d'enregistrement pour le développement local (enregistrement toujours) versus l'intégration continue (enregistrement uniquement des échecs).
Comment appliquer diverses propriétés d'enregistrement à l'aide de la bibliothèque 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
Intégration FFmpeg pour un enregistrement haute performance
Pour les utilisateurs avancés, la bibliothèque peut appeler FFmpeg directement (au lieu de Monte Media). FFmpeg offre une utilisation CPU plus faible, davantage de codecs (H.264, VP9) et la possibilité d'enregistrer une fenêtre ou une région d'application spécifique. Vous avez simplement besoin de FFmpeg installé sur la machine de test et de l'utilitaire SendSignalCtrlC.exe sous Windows pour des arrêts en douceur.