자동 비디오 녹화를 위한 무료 Java 라이브러리
Video Recorder를 Selenium Grid에 통합하고, 원격 노드 비디오를 캡처하며, 구체적인 시각적 증거로 실패를 분석하기 위한 오픈 소스 Java 라이브러리.
비디오 레코더란 무엇인가요?
사용자 인터페이스 테스트, 특히 다양한 브라우저와 디바이스에서의 테스트는 맨손으로 연기를 잡으려는 것과 같습니다. 테스트가 실패하면 무엇이 잘못됐는지 머리를 쥐어뜯게 됩니다. 타이밍 문제였을까요? 요소가 누락됐을까요? 이상한 레이스 컨디션이었을까요? 바로 이때 Video Recorder 라이브러리가 등장합니다 – 몇 개의 주석만으로 UI 테스트 영상을 자동으로 캡처하는 Java 도구입니다. Sergey Pirogov가 GitHub에 공개한 이 라이브러리는 개발자가 몇 개의 주석이나 설정만 추가하면 테스트 중 자동으로 녹화를 시작하도록 하여 비디오 녹화를 매우 간단하게 만들어 줍니다. 버그를 수동으로 재현하는 대신, 팀은 녹화된 영상을 바로 시청하여 테스트 실행 중 무슨 일이 일어났는지 파악할 수 있습니다.
Video Recorder는 JUnit 4/5, TestNG, Spock과 같은 인기 테스트 프레임워크와 원활하게 통합되는 오픈 소스 Java 라이브러리입니다. 화면 녹화를 수동으로 시작하고 중지하는 대신 테스트 메서드에 @Video 어노테이션을 추가하기만 하면 됩니다. 라이브러리는 나머지를 처리하여 테스트 실행 전에 녹화를 시작하고 완료 시 비디오를 저장합니다. 일반적으로 테스트가 실패했을 때만 저장되지만(설정으로 변경 가능) 그렇지 않을 수도 있습니다. 라이브러리는 기본 녹화기로 Monte Media(순수 Java, 설정이 쉽지만 포맷 제한) 또는 FFmpeg(보다 강력하고 다양한 코덱 및 화면 설정 지원)를 사용합니다. Selenium Grid와 같은 원격 테스트의 경우 추가 설정 없이 원격 노드에서 비디오를 녹화할 수도 있습니다.
비디오 레코더 시작하기
Maven 의존성을 추가하여 Video Recorder 라이브러리를 사용하는 권장 방법입니다. 원활한 사용을 위해 다음 명령을 사용하십시오.
비디오 레코더 라이브러리용 Maven 의존성
<dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>LATEST</version> </dependency>documents4j GitHub 설치
implementation 'com.automation-remarks:video-recorder-junit5:2.0'
Java를 통한 어노테이션 기반 비디오 녹화
오픈 소스 Video Recorder 라이브러리의 가장 큰 장점 중 하나는 주석 기반 설계입니다. 개발자는 테스트 클래스나 메서드에 주석을 추가하기만 하면 녹화를 활성화할 수 있습니다. 이는 보일러플레이트 코드를 줄이고 JUnit과 같은 Java 테스트 프레임워크와의 통합을 간단하게 만듭니다. @Video 주석은 테스트가 시작되기 전에 자동으로 녹화를 시작하고 완료 후에 녹화를 중지합니다. 최소한의 코드 변경, 쉬운 도입 및 더 깔끔한 테스트 파일과 같은 다양한 이점이 있습니다.
Java 라이브러리를 사용하여 주석 기반 비디오를 기록하는 방법?
import com.automation.remarks.video.annotations.Video;
public class LoginTest {
@Video
public void testLogin() {
System.out.println("Executing login test...");
}
}
ustom Video Naming
Java 라이브러리를 통한 맞춤 비디오 이름 지정
오픈 소스 Video Recorder 라이브러리는 Java 개발자가 녹화에 대한 맞춤 이름 규칙을 적용할 수 있게 하여 팀이 녹화를 보다 효율적으로 조직하도록 돕습니다. 이는 여러 테스트 스위트를 실행할 때 유용합니다. 파일 정리를 개선하고 아티팩트 검색을 용이하게 하며 보고 통합을 향상시키는 등 많은 이점을 제공합니다. 다음은 이 작업을 수행하는 방법을 보여주는 간단한 예시입니다.
Java 라이브러리를 사용하여 비디오 파일을 생성하는 방법?
@Video(name = "checkout_flow_test")
public void checkoutTest() {
System.out.println("Checkout process running");
}
Java 라이브러리를 통한 맞춤 비디오 이름 지정
Video Recorder는 매우 강력하며 출력 폴더와 녹화 모드(항상, 실패 시, 주석된 테스트만)부터 프레임 레이트와 화면 크기까지 모든 것을 제어합니다. 클래스패스에 video.properties 파일을 생성하거나 Maven/Gradle 명령줄을 통해 매개변수를 전달하세요. 이를 통해 로컬 개발(항상 녹화)과 CI(실패 시만 녹화)에서 서로 다른 녹화 전략을 설정할 수 있습니다.
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
고성능 녹화를 위한 FFmpeg 통합
고급 사용자를 위해, 라이브러리는 FFmpeg를 직접 호출할 수 있습니다 (Monte Media 대신). FFmpeg는 낮은 CPU 사용량, 더 많은 코덱(H.264, VP9) 및 특정 애플리케이션 창이나 영역을 녹화할 수 있는 기능을 제공합니다. 테스트 머신에 FFmpeg가 설치되어 있고 Windows에서는 graceful stop을 위해 SendSignalCtrlC.exe 유틸리티가 필요합니다.