Automatyzacja za pomocą WebDriver BiDi już dostępna w BrowserStack

W ciągu ostatnich 3 lat zespół automatyzacji przeglądarki Chrome współpracował z innymi dużymi dostawcami przeglądarek i narzędzi, takimi jak BrowserStack, nad stworzeniem WebDriver BiDi – nowego protokołu automatyzacji przeglądarki, który umożliwia dwukierunkowe przetwarzanie automatyzacji w różnych przeglądarkach. Te procesy były wcześniej możliwe tylko za pomocą zastrzeżonego protokołu Chrome DevTools w przeglądarkach opartych na Chromium.

Dzisiajszy dzień jest ważnym etapem tych wspólnych działań, ponieważ WebDriver BiDi jest już gotowy do wdrożenia w wersji produkcyjnej dla programistów, począwszy od BrowserStack.

.

Selenium i BrowserStack

Niedawno BrowserStack zostało oficjalnym partnerem programistycznym Selenium, czyli dojrzałego, opartego na wolnym oprogramowaniu frameworku automatyzacji przeglądarki, który przyczynił się też do powstania WebDriver BiDi. To partnerstwo jest dowodem na to, że BrowserStack stale inwestuje w rozwijającą się ekosystem testów. Firma zatrudnia też kilku głównych administratorów Selenium.

Częścią projektu Selenium jest Selenium Grid, który umożliwia równoległe przeprowadzanie testów na wielu urządzeniach. Samodzielne konfigurowanie siatki, zakup i obsługa kilkudziesięciu różnych urządzeń oraz utrzymywanie ich w stanie gotowości może być trudne, a w niektórych przypadkach wręcz niemożliwe.

Rozwiązania hostowane Selenium Grid, takie jak BrowserStack, mogą ułatwić uruchamianie testów na wielu różnych platformach i urządzeniach bez konieczności zarządzania nimi samodzielnie.

WebDriver BiDi w Selenium Grid

Selenium opiera się na standardzie WebDriver (brakujący BiDi), ale od jakiegoś czasu oferuje eksperymentalne wsparcie dla WebDriver BiDi. Od dziś możesz używać poleceń WebDriver BiDi w produkcji na serwerze Selenium Grid w usłudze BrowserStack.

Dzięki temu możesz korzystać z funkcji takich jak przechwytywanie żądań, zaawansowana emulacja i obsługa zdarzeń przeglądarki w czasie rzeczywistym nie tylko w Chrome, ale też w każdej przeglądarce obsługującej WebDriver BiDi.

Ten przykład pokazuje, jak nasłuchiwać zdarzeń z dziennika za pomocą WebDriver BiDi w BrowserStack. Złapane logi są też dostępne do sprawdzenia na stronie 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 to dopiero początek

Zespół automatyzacji przeglądarki Chrome gratuluje zespołowi BrowserStack wdrożenia obsługi BiDi w WebDriver. W najbliższych tygodniach planujemy też wdrożenie obsługi WebDriver BiDi w BrowserStack, innych narzędziach, takich jak Selenium, oraz w innych popularnych przeglądarkach.

Jeśli ten komunikat wzbudził w Tobie zainteresowanie testowaniem, ale jeszcze nie rozpocząłeś/aś swojej przygody z tym tematem, zapoznaj się z naszymi kursami z testowania na web.dev.