Durante los últimos tres años, el equipo de Automatización del navegador de Chrome ha estado colaborando con otros principales proveedores de navegadores y herramientas como BrowserStack para crear WebDriver BiDi, un protocolo nuevo de automatización de navegadores que permite flujos de trabajo de automatización bidireccional en todos los navegadores. Anteriormente, estos flujos de trabajo solo eran posibles con el protocolo propietario de Chrome DevTools en navegadores basados en Chromium.
Hoy se marca un hito importante en este esfuerzo compartido, ya que WebDriver BiDi finalmente está listo para la producción para los desarrolladores. Empieza por BrowserStack hoy.
Selenium y BrowserStack
Recientemente, BrowserStack se convirtió en socio de desarrollo oficial de Selenium, un marco de trabajo de automatización de navegadores maduro y de código abierto que también contribuyó a WebDriver BiDi. Esta asociación es un testimonio de la inversión continua de BrowserStack en un ecosistema de pruebas próspero, ya que también emplea a varios mantenedores principales de Selenium.
Parte del proyecto Selenium es Selenium Grid, que te permite ejecutar pruebas en varios dispositivos de forma paralela. Sin embargo, configurar una cuadrícula por tu cuenta, adquirir y mantener decenas de dispositivos diferentes, y mantenerlos disponibles puede ser un desafío o incluso imposible para algunos.
Las soluciones alojadas de Selenium Grid, como BrowserStack, pueden facilitar la ejecución de tus pruebas en muchas plataformas y dispositivos diferentes, sin tener que administrarlas por tu cuenta.
BiDi de WebDriver en Selenium Grid
Selenium se basa en el estándar de WebDriver (ten en cuenta que falta BiDi), pero tiene compatibilidad experimental con BiDi de WebDriver desde hace un tiempo. A partir de hoy, puedes usar los comandos BiDi de WebDriver en producción en Selenium Grid alojado en BrowserStack.
Esto finalmente habilita funciones como la intercepción de solicitudes, la emulación avanzada y el manejo de eventos del navegador en tiempo real, y no solo en Chrome, sino en todos los navegadores que admiten BiDi de WebDriver.
En el siguiente ejemplo, se muestra cómo escuchar eventos de registro con WebDriver BiDi en BrowserStack. Los registros capturados también están disponibles para su inspección en 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 es solo el comienzo
El equipo de automatización del navegador Chrome felicita al equipo de BrowserStack por lanzar hoy su compatibilidad con BiDi de WebDriver. También esperamos ver la expansión de la compatibilidad con WebDriver BiDi en BrowserStack, otras herramientas como Selenium y otros navegadores principales en las próximas semanas.
Y si este anuncio te entusiasmó con las pruebas, pero aún no has comenzado tu recorrido, asegúrate de consultar nuestro curso Learn Testing en web.dev.