Automatisation avec WebDriver BiDi désormais disponible dans BrowserStack

Matthias Rohmer
Matthias Rohmer

Ces trois dernières années, l'équipe d'automatisation du navigateur Chrome collaborer avec d'autres grands fournisseurs de navigateurs et d'outils comme BrowserStack, Création de WebDriver BiDi, un nouveau protocole d'automatisation du navigateur qui permet des workflows d'automatisation bidirectionnelle entre les navigateurs. Ces les workflows n'étaient auparavant possibles qu'avec les outils pour les développeurs Chrome Protocole dans les navigateurs basés sur Chromium.

Aujourd'hui marque une étape importante de cette initiative commune en tant que WebDriver BiDi est enfin prête pour la production pour les développeurs, à commencer par BrowserStack dès aujourd'hui.

Selenium et BrowserStack

Récemment, BrowserStack est devenu partenaire officiel de Selenium, un framework d'automatisation des navigateurs Open Source et mature, qui a également contribué à WebDriver BiDi. Ce partenariat témoigne des efforts continus de BrowserStack dans un écosystème de test florissant, BrowserStack utilise également plusieurs responsables de Selenium.

Le Selenium Grid fait partie du projet Selenium, qui vous permet d'exécuter des tests sur plusieurs appareils en parallèle. Mais définir une grille par vous-même, l'acquisition et la gestion de dizaines d'appareils différents, et les garder disponibles peut être difficile, voire impossible, pour certaines personnes.

Les solutions de grille Selenium Grid hébergées, comme BrowserStack, facilitent l'exécution de votre des tests sur de nombreux appareils et plates-formes différents, sans les gérer sur votre vous-même.

WebDriver BiDi sur Selenium Grid

Selenium est basé sur la norme WebDriver (notez le BiDi manquant), mais a eu compatibilité expérimentale pour WebDriver BiDi pendant un certain temps. À partir d'aujourd'hui, vous pouvez utiliser Commandes WebDriver BiDi en production sur la grille Selenium Grid hébergée de BrowserStack.

Cela permet d'utiliser des fonctionnalités telles que l'interception de requêtes, l'émulation avancée et pour gérer les événements de navigateur en temps réel, et pas seulement dans Chrome, compatible avec WebDriver BiDi.

L'exemple suivant montre comment écouter les événements de journaux à l'aide de WebDriver BiDi sur BrowserStack. Les journaux capturés sont également disponibles pour inspection 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 n'est que le début

L'équipe d'automatisation du navigateur Chrome félicite l'équipe de BrowserStack Lancement de la compatibilité avec WebDriver BiDi dès aujourd'hui ! Nous avons également hâte de la prise en charge de WebDriver BiDi est étendue à BrowserStack, à d'autres outils comme Selenium, ainsi que dans d'autres principaux navigateurs dans les semaines à venir.

Si cette annonce vous a donné envie d'effectuer des tests, mais que vous n'avez pas encore commencé votre parcours d'évaluation, n'oubliez pas de consulter notre cours Learn Testing sur web.dev.