স্বয়ংক্রিয় ভিডিও রেকর্ডিংয়ের জন্য ফ্রি জাভা লাইব্রেরি
আপনার সেলেনিয়াম গ্রিডে ভিডিও রেকর্ডার সংযুক্ত করতে, রিমোট নোডের ভিডিও ক্যাপচার করতে, এবং স্পষ্ট ভিজ্যুয়াল প্রমাণের মাধ্যমে ব্যর্থতা বিশ্লেষণ করতে ওপেন সোর্স জাভা লাইব্রেরি।
ভিডিও রেকর্ডার কি?
ইউজার ইন্টারফেস টেস্ট করা, বিশেষ করে বিভিন্ন ব্রাউজার ও ডিভাইসে, যেন খালি হাতে ধোঁয়া ধরার চেষ্টা করা। যখন কোনো টেস্ট ব্যর্থ হয়, তখন মাথা ঘামিয়ে ভাবতে হয় কী ভুল হয়েছে। এটা কি টাইমিং সমস্যার কারণে? কোনো উপাদান অনুপস্থিত? অদ্ভুত রেস কন্ডিশনের ফলে? এখানেই ভিডিও রেকর্ডার লাইব্রেরি কাজে আসে – একটি জাভা টুল যা কেবল কয়েকটি অ্যানোটেশন দিয়ে আপনার UI টেস্টের ভিডিও স্বয়ংক্রিয়ভাবে ক্যাপচার করে। সেরগেই পিরোগভের গিটহাব রেপোজিটরিতে উপলব্ধ এই লাইব্রেরি ডেভেলপারদের কয়েকটি অ্যানোটেশন বা কনফিগারেশন যোগ করে টেস্ট চলাকালীন স্বয়ংক্রিয়ভাবে রেকর্ডিং শুরু করতে দেয়, ফলে ভিডিও রেকর্ডিং অত্যন্ত সহজ হয়ে যায়। বাগ ম্যানুয়ালি পুনরুৎপাদন করার বদলে, টিমগুলো সহজেই রেকর্ড করা ভিডিও দেখে টেস্ট এক্সিকিউশনের সময় কী ঘটেছে তা বুঝতে পারে।
Video Recorder হল একটি ওপেন-সোর্স জাভা লাইব্রেরি যা JUnit 4/5, TestNG, এবং Spock এর মতো জনপ্রিয় টেস্ট ফ্রেমওয়ার্কের সঙ্গে নিখুঁতভাবে সংযুক্ত হয়। স্ক্রিন রেকর্ডিং ম্যানুয়ালি শুরু ও বন্ধ করার পরিবর্তে, আপনি আপনার টেস্ট মেথডে শুধু @Video অ্যানোটেশন যোগ করেন। লাইব্রেরি বাকি কাজটি করে—টেস্ট চালানোর আগে রেকর্ডিং শুরু করে এবং সম্পন্ন হলে ভিডিও সংরক্ষণ করে, সাধারণত কেবল টেস্ট ব্যর্থ হলে (আপনি চাইলে অন্যভাবে কনফিগার করতে পারেন)। লাইব্রেরি ভিত্তি রেকর্ডার হিসেবে Monte Media (শুদ্ধ জাভা, সেটআপ সহজ কিন্তু ফরম্যাট সীমিত) অথবা 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'
জাভা মাধ্যমে অ্যানোটেশন-ভিত্তিক ভিডিও রেকর্ডিং
ওপেন সোর্স ভিডিও রেকর্ডার লাইব্রেরির অন্যতম বড় সুবিধা হল এর অ্যানোটেশন-চালিত ডিজাইন। ডেভেলপাররা সহজেই টেস্ট ক্লাস বা মেথডে অ্যানোটেশন যোগ করে রেকর্ডিং সক্রিয় করতে পারেন। এটি বয়লারপ্লেট কোড কমায় এবং জাভা টেস্টিং ফ্রেমওয়ার্ক যেমন JUnit-এর জন্য ইন্টিগ্রেশনকে সহজ করে তোলে। @Video অ্যানোটেশন টেস্ট শুরু হওয়ার আগে স্বয়ংক্রিয়ভাবে রেকর্ডিং শুরু করে এবং সম্পন্ন হওয়ার পরে রেকর্ডিং বন্ধ করে। এর বিভিন্ন সুবিধা রয়েছে, যেমন ন্যূনতম কোড পরিবর্তন, সহজ গ্রহণযোগ্যতা এবং পরিষ্কার টেস্ট ফাইল।
কিভাবে জাভা লাইব্রেরি ব্যবহার করে অ্যানোটেশন-ভিত্তিক ভিডিও রেকর্ড করবেন?
import com.automation.remarks.video.annotations.Video;
public class LoginTest {
@Video
public void testLogin() {
System.out.println("Executing login test...");
}
}
ustom Video Naming
কিভাবে ভিডিও রেকর্ডার লাইব্রেরি ব্যবহার করে বিভিন্ন রেকর্ডিং প্রপার্টি প্রয়োগ করবেন?
# 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 ইনস্টল করতে হবে এবং উইন্ডোজে গ্রেসফুল স্টপের জন্য SendSignalCtrlC.exe ইউটিলিটি ব্যবহার করতে হবে।