کتابخانه رایگان جاوا برای ضبط ویدئوی خودکار
کتابخانه جاوا منبع باز برای ادغام ضبطکننده ویدئو در Selenium Grid شما، ضبط ویدئوهای گرههای ریموت، و تجزیه و تحلیل خطاها با شواهد بصری ملموس.
ضبطکننده ویدیو چیست؟
آزمون رابطهای کاربری، بهویژه در مرورگرها و دستگاههای مختلف، میتواند شبیه تلاش برای گرفتن دود با دستهای خالی باشد. وقتی یک تست شکست میخورد، سر خود را میخراشید و میپرسید چه چیزی اشتباه شده است. آیا مشکل زمانبندی بود؟ عنصر گمشدهای؟ یک وضعیت رقابتی عجیب؟ اینجاست که کتابخانه Video Recorder وارد میشود – ابزاری جاوا که بهصورت خودکار ویدئوی تستهای UI شما را تنها با چند حاشیهنویسی ضبط میکند. این کتابخانه که توسط Sergey Pirogov در GitHub در دسترس است، ضبط ویدئو را بهطرز فوقالعادهای ساده میکند؛ با اجازه دادن به توسعهدهندگان برای افزودن چند حاشیهنویسی یا پیکربندی برای شروع ضبط خودکار در طول تستها. بهجای بازتولید دستی باگها، تیمها میتوانند به سادگی ویدئوهای ضبطشده را تماشا کنند تا بفهمند در طول اجرای تست چه اتفاقی افتاده است.
Video Recorder یک کتابخانه منبع باز جاوا است که بهصورت یکپارچه با چارچوبهای تست محبوب مانند JUnit 4/5، TestNG و Spock ادغام میشود. بهجای شروع و توقف دستی ضبط صفحه، کافی است یک حاشیهنویسی @Video به متدهای تست خود اضافه کنید. کتابخانه بقیه کارها را انجام میدهد – ضبط را قبل از اجرای تست آغاز میکند و پس از اتمام، ویدیو را ذخیره میکند، معمولاً فقط زمانی که تست شکست میخورد (اگرچه میتوانید آن را بهصورت دیگری پیکربندی کنید). این کتابخانه از Monte Media (جاوا خالص، راهاندازی آسان اما فرمتهای محدود) یا 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'
ضبط ویدیو مبتنی بر حاشیهنویسی با جاوا
یکی از بزرگترین مزایای کتابخانهٔ منبع باز Video Recorder، طراحی مبتنی بر حاشیهنویسی است. توسعهدهندگان میتوانند ضبط را به سادگی با افزودن حاشیهنویسیها به کلاسها یا متدهای تست فعال کنند. این کار کدهای تکراری را کاهش میدهد و یکپارچهسازی را برای چارچوبهای تست جاوا مانند JUnit ساده میکند. حاشیهنویسی @Video بهصورت خودکار ضبط را قبل از شروع تست آغاز و پس از اتمام آن متوقف میکند. مزایای متعددی از این رویکرد وجود دارد، از جمله تغییرات کمحجم کد، پذیرش آسان و فایلهای تست تمیزتر.
چگونه ویژگیهای مختلف ضبط را با استفاده از کتابخانه 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 مصرف پردازش کمتری دارد، کدکهای بیشتری (H.264، VP9) ارائه میدهد و امکان ضبط یک پنجره یا ناحیه خاص از برنامه را فراهم میکند. فقط کافی است FFmpeg بر روی ماشین تست نصب باشد و ابزار SendSignalCtrlC.exe در ویندوز برای توقفهای ملایم موجود باشد.