अपने पिछले लेख में, हमने मौजूदा ऑटोमेशन प्रोटोकॉल, जैसे कि WebDriver "क्लासिक" और Chrome DevTools प्रोटोकॉल (CDP) की जांच की थी. साथ ही, उनके फ़ायदों और सीमाओं के बारे में भी बताया था.
वेबड्राइवर BiDi का इस्तेमाल करें, जो ब्राउज़र ऑटोमेशन का भविष्य है! यह ब्राउज़र ऑटोमेशन का एक नया स्टैंडर्ड प्रोटोकॉल है. फ़िलहाल, इसे डेवलप किया जा रहा है. इसका मकसद, WebDriver “क्लासिक” और CDP, दोनों के सबसे अच्छे फ़ीचर को जोड़ना है. WebDriver BiDi, दोतरफ़ा कम्यूनिकेशन का वादा करता है. इससे यह डिफ़ॉल्ट रूप से तेज़ हो जाता है. साथ ही, इसमें लो-लेवल कंट्रोल भी होता है.
WebDriver BiDi | |
---|---|
WebDriver “क्लासिक” | Chrome DevTools प्रोटोकॉल (सीडीपी) |
अलग-अलग ब्राउज़र पर काम करने की सबसे अच्छी सुविधा | तेज़ी से, दोनों तरफ़ से मैसेज भेजने की सुविधा |
W3C स्टैंडर्ड | कम-लेवल कंट्रोल देता है |
टेस्टिंग के लिए बनाया गया |
WebDriver BiDi का मकसद, आपको अपने पसंदीदा टूल का इस्तेमाल करके टेस्ट लिखने और उन्हें किसी भी ब्राउज़र या ड्राइवर में ऑटोमेट करने की सुविधा देना है. इससे आपको पूरी सुविधा मिलती है.

स्टैंडर्डाइज़ेशन
WebDriver BiDi Working Group में ब्राउज़र वेंडर, ओपन-सोर्स ब्राउज़र ऑटोमेशन प्रोजेक्ट, और ब्राउज़र ऑटोमेशन के समाधान देने वाली कंपनियों के अलग-अलग ग्रुप शामिल हैं. इस सहयोग से, ब्राउज़र ऑटोमेशन के लिए आने वाले समय में बेहतर नतीजे मिलेंगे.

ज़्यादातर काम, इस GitHub रिपॉज़िटरी में किया जाता है. हर महीने, सभी मुख्य ब्राउज़र वेंडर के साथ मीटिंग होती हैं. इनमें, असल प्रोग्रेस की रिपोर्टिंग की जाती है. साथ ही, ऐसी खास बातों पर चर्चा की जाती है जिनके बारे में ज़्यादा जानकारी नहीं है या जिन पर बहस की जा सकती है. अलग-अलग कंपनियों के वर्किंग ग्रुप यह पक्का करते हैं कि फ़ैसले सभी हिस्सेदारों के हिसाब से हों.
नया प्रोटोकॉल बनाना और उसे लागू करना आसान नहीं है. इसके लिए, अलग-अलग वेंडर को एक साथ मिलकर काम करना होगा. इस प्रोसेस में ये काम शामिल हैं:
- स्पेसिफ़िकेशन: सुझाव पर सुझाव, राय या शिकायत देने के लिए अनुरोध (आरएफ़सी) की प्रोसेस.
- पुष्टि: यह टेस्ट की एक सीरीज़ है, जिसे सभी प्लैटफ़ॉर्म पर चलाया जा सकता है. यह सभी लागू किए गए बदलावों के लिए सटीक जानकारी देने वाला सोर्स होता है.
- लागू करना: ब्राउज़र, खास जानकारी के मुताबिक प्रोटोकॉल लागू करते हैं और पुष्टि करने से जुड़ी जांच पास करते हैं.
चुनौतियां
इस सेक्शन में, हम WebDriver BiDi को लागू करने से जुड़ी चुनौतियों के बारे में जानेंगे. ऐसा इसलिए, क्योंकि यह सुविधा, काम करने, इस्तेमाल करने, और लागू करने के बीच संतुलन बनाए रखती है.
सीडीपी क्लोन के अलावा: अलग-अलग ब्राउज़र पर काम करने की सुविधा
सीडीपी को सीधे तौर पर WebDriver BiDi स्पेसिफ़िकेशन में दोबारा नहीं बनाया जा सकता. इसमें Chrome और DevTools के खास एलिमेंट शामिल होते हैं. सीडीपी को अन्य ब्राउज़र के लिए लागू करना मुश्किल होगा. ऐसा करने के लिए, सिर्फ़ एक दस्तावेज़ तैयार करना बेकार होगा.
इंतज़ार का समय कम रखने की सुविधा
WebDriver BiDi को इस तरह डिज़ाइन किया जाना चाहिए कि परफ़ॉर्मेंस में कोई कमी आए बिना, ज़्यादा इंतज़ार का समय मैनेज किया जा सके. सीडीपी में इंतज़ार का समय कम होता है, क्योंकि क्लाइंट और सर्वर, लगभग हमेशा एक ही फ़िज़िकल मशीन में चलते हैं. हालांकि, WebDriver BiDi में ऐसा नहीं होता. इसलिए, WebDriver BiDi को क्लाइंट और सर्वर के बीच ज़रूरी राउंड ट्रिप की संख्या कम करनी होगी.
BiDi में, उपयोगकर्ता अनुभव को प्राथमिकता देना
डेवलपर को WebDriver BiDi क्लाइंट को शुरू से बनाने की ज़रूरत नहीं है. हालांकि, प्रोटोकॉल को ज़्यादा मुश्किल बनाने से बचना ज़रूरी है. बहुत जटिल BiDi को लागू करना मुश्किल होगा. साथ ही, इसका इस्तेमाल करना भी मुश्किल होगा. इससे इसे अपनाने और इस्तेमाल करने में समस्याएं आ सकती हैं.
यह पक्का करना कि BiDi को लागू किया जा सकता है
WebDriver BiDi को अलग-अलग ब्राउज़र की सीमाओं को ध्यान में रखते हुए, सही तरीके से लागू किया जाना चाहिए. उदाहरण के लिए, BiDi की मदद से क्लाइंट को दिखाए गए सभी JavaScript ऑब्जेक्ट को बनाए रखने पर, मेमोरी लीक हो सकती है. वहीं, किसी भी ऑब्जेक्ट को न रखने पर, पेज के JavaScript के साथ डीबग करने और इंटरैक्ट करने में समस्या आ सकती है. यह ज़रूरी है कि परफ़ॉर्मेंस से समझौता किए बिना, ब्राउज़र ऑटोमेशन को असरदार तरीके से चालू किया जा सके.
चुनौतियों से निपटना
इस सेक्शन में, हम WebDriver BiDi को लागू करने से जुड़ी समस्याओं को हल करने के लिए इस्तेमाल की गई रणनीतियों के बारे में बात करेंगे.
रैपिड प्रोटोटाइपिंग
BiDi की सफलता के लिए, इसे लागू करने से जुड़ी चुनौतियों को हल करना ज़रूरी है. स्पेसिफ़िकेशन और टेस्ट में तेज़ी से आगे बढ़ने के लिए, हमने NodeJS का इस्तेमाल करके प्रोटोटाइप बनाने का तेज़ तरीका अपनाया. इससे हमें अलग-अलग समाधानों को आज़माने में मदद मिलती है. साथ ही, वेब प्लैटफ़ॉर्म टेस्ट को डेवलप करने में भी आसानी होती है.
परफ़ॉर्मेंस को ध्यान में रखकर डिज़ाइन करना
डिज़ाइन से जुड़ा यह फ़ैसला, परफ़ॉर्मेंस के आधार पर लिया गया है. ऐसा इसलिए है, क्योंकि कुछ मामलों में WebDriver BiDi में इंतज़ार का समय ज़्यादा होता है. उदाहरण के लिए, ब्राउज़र से ऑब्जेक्ट आईडी और वैल्यू को वापस लाने के लिए, WebDriver BiDi को सिर्फ़ एक राउंड ट्रिप की ज़रूरत होती है, जबकि CDP को दो राउंड ट्रिप की ज़रूरत होती है. ऐसा इसलिए है, क्योंकि WebDriver BiDi एक ही रिस्पॉन्स में आईडी और वैल्यू, दोनों को दिखा सकता है. हालांकि, नतीजा JSON-serializable नहीं होना चाहिए. वहीं, CDP को उन्हें अलग-अलग दिखाना चाहिए.
वेब प्लैटफ़ॉर्म टेस्ट (WPT) पर ज़ोर देना
BiDi के काम करने में, वेब प्लैटफ़ॉर्म टेस्ट अहम भूमिका निभाते हैं. फ़िलहाल, WPT में WebDriver “क्लासिक” और WebDriver BiDi शामिल हैं. यह सभी लागू करने के लिए भरोसेमंद रेफ़रंस के तौर पर काम करता है. इन टेस्ट को अलग-अलग तरीके से चलाने और पास करने के लिए डिज़ाइन किया गया है. इससे, अलग-अलग ब्राउज़र पर प्रोटोकॉल को एक जैसा लागू करने में मदद मिलती है. यह WebDriver BiDi की सफलता के लिए ज़रूरी है. डैशबोर्ड में WPT का नया नतीजा देखें.
प्लान और मौजूदा प्रोग्रेस क्या है?
प्रोजेक्ट के दिशा-निर्देश को समझने के लिए, WebDriver BiDi रोडमैप देखें. रोडमैप पर लगातार काम किया जा रहा है और इसे बेहतर बनाया जा रहा है.
सभी ब्राउज़र पर लागू होने की स्थिति के लिए, नए वेब प्लैटफ़ॉर्म टेस्ट देखें. यह सटीक जानकारी देता है.
प्रोजेक्ट की प्रोग्रेस पर नज़र रखने के लिए, प्रोजेक्ट के माइलस्टोन पर नज़र रखें.
साल 2023 में हासिल की गई उपलब्धियों के बारे में जानें और नए अपडेट के बारे में अप-टू-डेट रहें!
WebDriver BiDi की सुविधा का इस्तेमाल करना: इसमें आपकी मदद कैसे की जा सकती है
क्या आपको WebDriver BiDi की मदद से, ब्राउज़र ऑटोमेशन के आने वाले समय में होने वाले बदलावों को लेकर उत्सुकता है? क्रिएटर के लिए अपना सपोर्ट दिखाने का तरीका यहां बताया गया है:
- शुरुआती टेस्टर और इस्तेमाल करने वाले के तौर पर, WebDriver BiDi को बेहतर बनाने में मदद करें.
- लोगों को इसके बारे में बताएं! #WebDriverBiDi हैशटैग का इस्तेमाल करके, प्रोजेक्ट को सोशल मीडिया पर शेयर करें.
- सहायता के लिए अनुरोध करें. इस सुविधा का अनुरोध करें या अपने पसंदीदा टूल के वेबड्राइवरBiDi को अपनाने के प्लान के बारे में जानें.
- एपीआई के बारे में सुझाव, शिकायत या राय देकर, आरएफ़सी में हिस्सा लें.
आम तौर पर पूछे जाने वाले सवाल
क्या WebDriver BiDi, Chrome DevTools प्रोटोकॉल (CDP) की जगह लेगा?
नहीं. Chromium कोड वाले ब्राउज़र, डीबग करने के लिए सीडीपी का इस्तेमाल करते रहेंगे. वहीं, WebDriver BiDi एक नया स्पेसिफ़िकेशन है, जो टेस्टिंग की ज़रूरतों को पूरा करने के लिए, ज़्यादा काम के एपीआई का इस्तेमाल करता है.
Puppeteer, CDP का इस्तेमाल कर रहा है. क्या इसका मतलब है कि Puppeteer का इस्तेमाल बंद कर दिया जाएगा?
नहीं. हालांकि, WebDriver BiDi की मदद से Puppeteer को क्रॉस-ब्राउज़र ऑटोमेशन टूल बनाया जा सकेगा.
क्या आपके पास सार्वजनिक रोडमैप है?
हां, GitHub पर हमारे रोडमैप पर जाएं.