पिछले तीन सालों से, Chrome ब्राउज़र ऑटोमेशन की टीम अन्य प्रमुख ब्राउज़र और ब्राउज़रस्टैक जैसे टूलिंग वेंडर के साथ मिलकर काम करके WebDriver BiDi बनाएं—यह एक नया ब्राउज़र ऑटोमेशन प्रोटोकॉल है इसकी मदद से, अलग-अलग ब्राउज़र पर दो-तरफ़ा ऑटोमेशन वर्कफ़्लो चालू होते हैं. ये पहले सिर्फ़ मालिकाना हक वाले Chrome DevTools की मदद से ही वर्कफ़्लो बनाए जा सकते थे Chromium पर आधारित ब्राउज़र में प्रोटोकॉल.
आज WebDriver BiDi के तौर पर शेयर की गई इस कोशिश की एक अहम उपलब्धि है ब्राउज़र स्टैक के साथ शुरू करके, डेवलपर के लिए प्रोडक्शन के लिए तैयार हो गया है आगे मिलने वाली सुविधाओं से करें.
सीलेनियम और ब्राउज़रस्टैक
हाल ही में BrowserStack, सेलेनियम का आधिकारिक डेवलपमेंट पार्टनर बना है, एक मैच्योर, ओपन-सोर्स ब्राउज़र ऑटोमेशन फ़्रेमवर्क, जिसने WebDriver BiDi. यह पार्टनरशिप इस बात का सबूत है कि BrowserStack हम एक सफल टेस्टिंग ईकोसिस्टम में निवेश कर रहे हैं. साथ ही, ब्राउज़रस्टैक में सेलेनियम के कई मुख्य मेंटेनर हैं.
सेलेनियम ग्रिड, सेलेनियम प्रोजेक्ट का हिस्सा है. इसकी मदद से, एक साथ कई डिवाइसों पर टेस्ट चलाए जा सकते हैं. हालाँकि, ग्रिड सेट करके अलग-अलग डिवाइसों को खुद हासिल करने और उनका रखरखाव करने के लिए, और उन्हें उपलब्ध कराना कुछ लोगों के लिए चुनौती भरा या नामुमकिन हो सकता है.
ब्राउज़र स्टैक जैसे होस्ट किए गए सेलेनियम ग्रिड सलूशन की मदद से कई अलग-अलग प्लैटफ़ॉर्म और डिवाइसों पर टेस्ट कर सकता है. ऐसा करने के लिए, आपको उन्हें अपने खुद का मालिक है.
सेलेनियम ग्रिड पर WebDriver BiDi
सेलेनियम, WebDriver स्टैंडर्ड पर आधारित है (ध्यान दें कि BiDi मौजूद नहीं है) लेकिन कुछ समय के लिए WebDriver BiDi पर प्रयोग के तौर पर उपलब्ध था. आज से, सदस्यता के साथ ब्राउज़रस्टैक के होस्ट किए गए सेलेनियम ग्रिड पर WebDriver BiDi कमांड!
इससे आखिर में ये सुविधाएं चालू हो जाती हैं: रिसेप्शन का अनुरोध करना, बेहतर एम्युलेशन, और ब्राउज़र इवेंट को रीयल टाइम में मैनेज करना—न सिर्फ़ Chrome में, बल्कि WebDriver BiDi के साथ काम करने वाला ब्राउज़र.
इस उदाहरण में WebDriver BiDi का इस्तेमाल करके, लॉग इवेंट को सुनने का तरीका बताया गया है ब्राउज़र स्टैक पर मौजूद है. इसके बाद, कैप्चर किए गए लॉग, इन लॉग को भी जांच के लिए उपलब्ध कराए जाते हैं: automate.browserstack.com:
const webdriver = require('selenium-webdriver');
// Insert credentials from https://www.browserstack.com/accounts/profile/details
const USERNAME = '<YOUR_USERNAME>';
const ACCESS_KEY = '<YOUR_ACCESS_KEY>';
(async () => {
const driver = await (new webdriver.Builder()
.withCapabilities({
browserName: 'chrome',
'bstack:options': {
seleniumVersion: '4.22.0',
seleniumBidi: true, // Enable WebDriver BiDi.
},
})
.usingServer(
`https://${USERNAME}:${ACCESS_KEY}@hub-cloud.browserstack.com/wd/hub`
)
.build());
// Add a listener for log events.
await driver.script().addConsoleMessageHandler((logEntry) => {
console.log(logEntry.text);
});
await driver.get(
'https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html'
);
// Trigger a console log on the demo page.
await driver.findElement({ id: 'consoleLog' }).click();
await driver.quit();
// Inspect logs on automate.browserstack.com!
})();
ब्राउज़र स्टैक सिर्फ़ शुरुआत है
Chrome ब्राउज़र ऑटोमेशन की टीम, इस सुविधा के लिए ब्राउज़रस्टैक पर मौजूद टीम को बधाई देती है आज अपना WebDriver BiDi सहायता लॉन्च किया जा रहा है! हमें यह भी उम्मीद है कि देखें कि WebDriver BiDi कैसे काम करता है. यह ब्राउज़रस्टैक और अन्य टूल पर काम करता है साथ ही, आने वाले हफ़्तों में अन्य प्रमुख ब्राउज़र के लिए भी यह काम करेगा.
इसके अलावा, अगर इस सूचना से आपको टेस्टिंग में खुशी हुई हो, लेकिन आपने जांच शुरू नहीं की है फ़िलहाल, अपनी टेस्टिंग के लिए तैयार हैं, तो web.dev पर हमारा 'लर्निंग टेस्टिंग कोर्स' देखना न भूलें.