Nel corso degli ultimi tre anni, il team di automazione del browser di Chrome ha in collaborazione con altri importanti fornitori di browser e strumenti come BrowserStack per Crea WebDriver BiDi, un nuovo protocollo di automazione del browser che consente flussi di lavoro di automazione bidirezionali tra browser. Questi in precedenza i flussi di lavoro erano possibili solo con i Chrome DevTools Protocollo nei browser basati su Chromium.
Oggi segna un importante traguardo di questo impegno condiviso come WebDriver BiDi diventa finalmente pronto per la produzione per gli sviluppatori, a partire da BrowserStack oggi stesso.
Selenium e BrowserStack
Recentemente BrowserStack è diventato un Partner ufficiale per lo sviluppo di Selenium, un framework di automazione del browser open source maturo che ha anche contribuito a WebDriver BiDi. Questa partnership è una testimonianza della costante degli investimenti in un florido ecosistema di test, in cui BrowserStack utilizza anche diversi operatori principali di Selenium.
Parte del progetto Selenium è Selenium Grid, che ti consente di eseguire test su più dispositivi in parallelo. Ma impostare una griglia acquisire e gestire decine di dispositivi diversi. tenerli a disposizione può essere impegnativo se non impossibile per alcuni.
Le soluzioni Selenium Grid in hosting come BrowserStack possono semplificare l'esecuzione su più piattaforme e dispositivi, senza doverli gestire sul tuo personali.
WebDriver BiDi su Selenium Grid
Selenium si basa sullo standard WebDriver (nota il BiDi mancante), ma ha per un po' di tempo il supporto sperimentale di WebDriver BiDi. A partire da oggi, puoi utilizzare i comandi BiDi di WebDriver in produzione sulla Selenium Grid di BrowserStack.
Sono finalmente abilitate funzionalità come l'intercettazione delle richieste, l'emulazione avanzata e gli eventi del browser in tempo reale, non solo in Chrome, ma anche che supporti WebDriver BiDi.
L'esempio seguente mostra come rimanere in ascolto degli eventi di log utilizzando WebDriver BiDi su BrowserStack. I log individuati sono quindi disponibili anche per l'ispezione 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 è solo l'inizio
Il team di automazione del browser Chrome si congratula con il team di BrowserStack per il supporto di WebDriver BiDi da oggi stesso! Ci auguriamo inoltre vedere che il supporto di WebDriver BiDi si espanderà in BrowserStack, altri strumenti come Selenium, oltre ad altri importanti browser nelle prossime settimane.
Se questo annuncio ti ha fatto entusiasmare i test, ma non hai iniziato il tuo percorso di test, assicurati di consultare il nostro corso di test su web.dev.