Biblioteca Java Gratuita para Gravação Automática de Vídeo
Biblioteca Java de Código Aberto para Integrar o Gravador de Vídeo ao seu Selenium Grid, Capturar vídeos de nós remotos e Analisar Falhas com Prova Visual Concreta.
O que é o Gravador de Vídeo?
Testar interfaces de usuário, especialmente em diferentes navegadores e dispositivos, pode ser como tentar capturar fumaça com as mãos nuas. Quando um teste falha, você fica coçando a cabeça, se perguntando o que deu errado. Foi um problema de tempo? Um elemento ausente? Uma condição de corrida estranha? É aqui que a biblioteca Video Recorder entra – uma ferramenta Java que captura automaticamente vídeo dos seus testes de UI com apenas algumas anotações. A biblioteca, disponível no GitHub por Sergey Pirogov, torna a gravação de vídeo extremamente simples, permitindo que os desenvolvedores adicionem algumas anotações ou configurações para iniciar a gravação automaticamente durante os testes. Em vez de reproduzir manualmente os bugs, as equipes podem simplesmente assistir aos vídeos gravados para entender o que aconteceu durante a execução dos testes.
Video Recorder é uma biblioteca Java de código aberto que se integra perfeitamente com frameworks de teste populares como JUnit 4/5, TestNG e Spock. Em vez de iniciar e parar manualmente as gravações de tela, você simplesmente adiciona a anotação @Video aos seus métodos de teste. A biblioteca cuida do resto – inicia a gravação antes da execução do teste e salva o vídeo ao final, tipicamente somente quando o teste falha (embora você possa configurá-la de outra forma). A biblioteca usa Monte Media (Java puro, configuração mais fácil, mas formatos limitados) ou FFmpeg (mais poderoso, melhor suporte a diferentes codecs e configurações de tela) como gravador subjacente. Para testes remotos, como em um Selenium Grid, ela pode até gravar vídeo no nó remoto sem configuração adicional.
Começando com o Gravador de Vídeo
A maneira recomendada de usar a biblioteca Video Recorder é adicionando a dependência Maven. Por favor, use o comando a seguir para um funcionamento suave.
Dependência Maven para a biblioteca do Gravador de Vídeo
<dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>LATEST</version> </dependency>Instalar documents4j no GitHub
implementation 'com.automation-remarks:video-recorder-junit5:2.0'
Gravação de Vídeo Baseada em Anotações via Java
Uma das maiores vantagens da biblioteca de gravação de vídeo de código aberto é seu design orientado a anotações. Os desenvolvedores podem habilitar a gravação simplesmente adicionando anotações às classes ou métodos de teste. Isso reduz o código boilerplate e torna a integração direta para frameworks de teste Java como o JUnit. A anotação @Video inicia automaticamente a gravação antes do início do teste e a interrompe após a conclusão. Existem vários benefícios disso, como mudanças mínimas de código, fácil adoção e arquivos de teste mais limpos.
Como Gravar Vídeo Baseado em Anotações via Biblioteca Java?
import com.automation.remarks.video.annotations.Video;
public class LoginTest {
@Video
public void testLogin() {
System.out.println("Executing login test...");
}
}
ustom Video Naming
Nomeação Personalizada de Vídeo via Biblioteca Java
A biblioteca de gravação de vídeo de código aberto permite que desenvolvedores Java realizem convenções de nomeação personalizadas para gravações, ajudando as equipes a organizar as gravações de forma mais eficiente. Isso é útil ao executar múltiplas suítes de teste. É muito útil e oferece benefícios como melhor organização de arquivos, busca de artefatos mais fácil e integração aprimorada de relatórios. Aqui está um exemplo simples que mostra como realizar esta operação.
Como Gerar Arquivo de Vídeo via Biblioteca Java?
@Video(name = "checkout_flow_test")
public void checkoutTest() {
System.out.println("Checkout process running");
}
Nomeação Personalizada de Vídeo via Biblioteca Java
O Video Recorder é muito poderoso e controla tudo – desde a pasta de saída e modo de gravação (sempre, em falha, apenas testes anotados) até a taxa de quadros e tamanho da tela. Crie um arquivo video.properties no seu classpath, ou passe parâmetros via linha de comando Maven/Gradle. Isso permite definir diferentes estratégias de gravação para desenvolvimento local (gravar sempre) versus CI (gravar apenas falhas).
Como Aplicar Várias Propriedades de Gravação usando a Biblioteca 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
Integração do FFmpeg para Gravação de Alto Desempenho
Para usuários avançados, a biblioteca pode chamar o FFmpeg diretamente (em vez do Monte Media). O FFmpeg oferece menor uso de CPU, mais codecs (H.264, VP9) e a capacidade de gravar uma janela ou região específica de um aplicativo. Você só precisa ter o FFmpeg instalado na máquina de teste e o utilitário SendSignalCtrlC.exe no Windows para paradas suaves.