Automazione con WebDriver BiDi ora disponibile su BrowserStack

Matthias Rohmer
Matthias Rohmer

Negli ultimi tre anni, il team di automazione del browser di Chrome ha collaborato con altri importanti fornitori di browser e strumenti come BrowserStack per creare WebDriver BiDi, un nuovo protocollo di automazione del browser che consente flussi di lavoro di automazione bidirezionale tra i browser. In precedenza, queste flussi di lavoro erano possibili solo con il protocollo proprietario di Chrome DevTools nei browser basati su Chromium.

Oggi è un giorno importante per questo impegno condiviso, poiché WebDriver BiDi è finalmente pronto per la produzione per gli sviluppatori, a partire da BrowserStack.

Selenium e BrowserStack

Di recente BrowserStack è diventato un partner di sviluppo ufficiale di Selenium, un framework di automazione dei browser maturo e open source che ha contribuito anche a WebDriver BiDi. Questa partnership è una testimonianza dei continui investimenti di BrowserStack in un fiorente ecosistema di test, in cui BrowserStack si avvale anche di diversi operatori principali di manutenzione di Selenium.

Selenium Grid fa parte del progetto Selenium e consente di eseguire test su più dispositivi in parallelo. Tuttavia, configurare una griglia in autonomia, acquisire e gestire decine di dispositivi diversi e mantenerli disponibili può essere impegnativo se non impossibile per alcuni.

Le soluzioni Selenium Grid in hosting, come BrowserStack, possono semplificare l'esecuzione dei test su molteplici piattaforme e dispositivi, senza doverli gestire autonomamente.

WebDriver BiDi su Selenium Grid

Selenium si basa sullo standard WebDriver (nota la mancanza di BiDi), ma da un po' di tempo offre il supporto sperimentale di WebDriver BiDi. A partire da oggi, puoi utilizzare i comandi WebDriver BiDi in produzione su Selenium Grid ospitato da BrowserStack.

In questo modo, finalmente, è possibile attivare funzionalità come l'intercettazione delle richieste, l'emulazione avanzata e la gestione degli eventi del browser in tempo reale, non solo in Chrome, ma in ogni browser che supporta WebDriver BiDi.

L'esempio seguente mostra come ascoltare gli eventi di log utilizzando WebDriver BiDi su BrowserStack. I log rilevati sono quindi disponibili anche per l'ispezione su 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 lancio odierno del supporto di WebDriver BiDi. Inoltre, nelle prossime settimane prevediamo di estendere il supporto di WebDriver BiDi a BrowserStack, ad altri strumenti come Selenium e ad altri browser principali.

Se questo annuncio ti ha entusiasmato per i test, ma non hai ancora iniziato il tuo percorso di test, consulta il nostro corso Impara a eseguire test su web.dev.