自動ビデオ録画のための無料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 のようなリモートテストの場合、追加設定なしでリモートノード上でビデオを録画することも可能です。
ビデオレコーダーの入門
Video Recorder ライブラリを使用する推奨方法は Maven 依存関係を追加することです。スムーズに動作させるために、以下のコマンドをご利用ください。
ビデオレコーダーライブラリの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統合
上級ユーザー向けに、ライブラリはMonte Mediaの代わりにFFmpegを直接呼び出すことができます。FFmpegはCPU使用率が低く、より多くのコーデック(H.264、VP9)を提供し、特定のアプリケーションウィンドウや領域を録画する機能があります。テストマシンにFFmpegがインストールされており、WindowsではSendSignalCtrlC.exeユーティリティがあれば、正常に停止できます。