स्वचालित वीडियो रिकॉर्डिंग के लिए मुफ्त जावा लाइब्रेरी
वीडियो रिकॉर्डर को आपके Selenium ग्रिड में एकीकृत करने, रिमोट नोड वीडियो कैप्चर करने, और ठोस दृश्य प्रमाण के साथ विफलताओं का विश्लेषण करने के लिए ओपन सोर्स जावा लाइब्रेरी।
वीडियो रिकॉर्डर क्या है?
उपयोगकर्ता इंटरफ़ेस का परीक्षण, विशेष रूप से विभिन्न ब्राउज़र और डिवाइसों पर, ऐसा हो सकता है जैसे आप अपनी खाली हाथों से धुआँ पकड़ने की कोशिश कर रहे हों। जब कोई परीक्षण विफल हो जाता है, तो आप सिर खुजाने लगते हैं और सोचते हैं कि क्या गलत हुआ। क्या यह समय संबंधी समस्या थी? कोई गायब तत्व? कोई अजीब रेस कंडीशन? यहीं पर वीडियो रिकॉर्डर लाइब्रेरी काम आती है – एक जावा टूल जो केवल कुछ एनोटेशन के साथ आपके UI परीक्षणों का वीडियो स्वचालित रूप से कैप्चर करता है। यह लाइब्रेरी, जो Сергей Пирогов द्वारा 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'
जावा के माध्यम से एनोटेशन-आधारित वीडियो रिकॉर्डिंग
ओपन सोर्स वीडियो रिकॉर्डर लाइब्रेरी का एक सबसे बड़ा लाभ इसका एनोटेशन-ड्रिवेन डिज़ाइन है। डेवलपर्स टेस्ट क्लासेज़ या मेथड्स में एनोटेशन जोड़कर आसानी से रिकॉर्डिंग सक्षम कर सकते हैं। इससे बायलरप्लेट कोड कम होता है और जावा टेस्टिंग फ्रेमवर्क जैसे 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 यूटिलिटी की आवश्यकता है।