במהלך שלוש השנים האחרונות, צוות האוטומציה של דפדפנים ב-Chrome פעל משתפים פעולה עם ספקים גדולים אחרים של דפדפנים וכלים, כמו BrowserStack כדי ליצור את WebDriver BiDi – פרוטוקול אוטומציה חדש של דפדפנים שמאפשר תהליכי אוטומציה דו-כיווניים בכל הדפדפנים. האלה בעבר אפשר היה לבצע תהליכי עבודה רק באמצעות כלי הפיתוח הקנייניים ל-Chrome פרוטוקול בדפדפנים המבוססים על Chromium.
היום אנחנו מציינים ציון דרך חשוב במאמץ המשותף הזה כ-WebDriver BiDi סוף סוף יהיה מוכן לייצור עבור מפתחים, החל מ-BrowserStack היום.
סלניום ו-BrowserStack
לאחרונה BrowserStack הפך לשותף פיתוח רשמי של Selenium, מסגרת בוגרת וקוד פתוח לאוטומציה של דפדפנים, שתרמה גם היא WebDriver BiDi. השותפות הזו היא עדות למאמצים המתמשכים של BrowserStack בסביבה עסקית משגשגת של בדיקות, כאשר BrowserStack משתמשת גם ב- כמה מתקני הליבה של סלניום.
חלק מפרויקט סלניום הוא Selenium Grid, שמאפשר להריץ בדיקות בכמה מכשירים במקביל. אבל הגדרת רשת לבד, לרכוש ולתחזק עשרות מכשירים שונים, להשאיר אותן בהישג יד יכול להיות מאתגר ואפילו בלתי אפשרי עבור חלקם.
פתרונות רשת מתארחת של Selenium, כמו BrowserStack, יכולים להקל עליכם בדיקות במגוון פלטפורמות ומכשירים, בלי לנהל אותם שלו.
WebDriver BiDi ב-Selenium Grid
סלניום מבוסס על תקן WebDriver (שימו לב ל-BiDi החסר) אבל תמיכה ניסיונית ב-WebDriver BiDi למשך זמן מה. החל מהיום, אפשר להשתמש ב פקודות WebDriver BiDi בייצור ב-Selenium Grid של BrowserStack!
לבסוף, הוא מאפשר תכונות כמו יירוט בקשות, אמולציה מתקדמת מטפלים באירועי דפדפן בזמן אמת ולא רק ב-Chrome, אלא דפדפן שתומך ב-WebDriver BiDi.
הדוגמה הבאה מראה איך להאזין לאירועים ביומן באמצעות WebDriver BiDi ב-BrowserStack. לאחר מכן היומנים המתועדים יהיו זמינים לבדיקה גם ב: 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!
})();
BrowserStack זו רק ההתחלה
צוות האוטומציה של דפדפן Chrome מברך את הצוות ב-BrowserStack על משיקים את התמיכה ב-WebDriver BiDi עוד היום! אנחנו מצפים גם כשהתמיכה ב-WebDriver BiDi מתרחבת ל-BrowserStack, וכלים נוספים כמו Selenium, וגם בדפדפנים גדולים אחרים בשבועות הקרובים.
אם ההודעה הזו גרמה לך להתלהב מהבדיקה, אבל עוד לא התחלת מסע הבדיקה שלכם עדיין, אל תשכחו לעיין בקורס 'לימודים בנושא בדיקה' באתר web.dev.