WebDriver BiDi ile otomasyon artık Tarayıcı Yığını'nda

Matthias Rohmer
Matthias Rohmer

Son üç yılda, Chrome'un Tarayıcı Otomasyonu ekibi için diğer büyük tarayıcı ve araç tedarikçileriyle işbirliği yaparak Yeni bir tarayıcı otomasyon protokolü olan WebDriver BiDi'yi oluşturun Böylece tarayıcılar genelinde iki yönlü otomasyon iş akışlarına olanak tanıyor. Bu iş akışları daha önce yalnızca özel Chrome Geliştirici Araçları ile mümkündü. Chromium tabanlı tarayıcılarda protokol.

Bugün, WebDriver BiDi olarak bu ortak çalışmada önemli bir kilometre taşını temsil ediyoruz. Tarayıcı Yığını ile başlayarak nihayet geliştiriciler için üretime hazır hale geliyor .

Selenyum ve Tarayıcı Yığını

Kısa süre önce Tarayıcı Grubu, Selenium'un resmi Geliştirme İş Ortağı oldu. olgunlaşmış, açık kaynak bir tarayıcı otomasyonu çerçevesine WebDriver BiDi. Bu ortaklık, Tarayıcı Yığını'nın; başarılı bir test ekosistemine yatırım yapmaya devam ediyor ve Selenyum'un temel koruyucularından bazılarıdır.

Selenium projesinin bir parçası da Selenyum Izgaradır. Böylece birden çok cihazda aynı anda test yapabilirsiniz. Ancak bir ızgara onlarca farklı cihaz edinip bunların bakımını kendi başınıza yapabilir ve onları ulaşılabilir tutmak bazı kişiler için zor, hatta imkansız olabilir.

Tarayıcı Yığını gibi barındırılan Selenium Grid çözümleri, birçok farklı platform ve cihazda test edebilirsiniz. Bu testler sahip olmalıdır.

Selenyum Izgarasında WebDriver BiDi

Selenyum, WebDriver standardına dayanır (eksik BiDi'ye dikkat edin), ancak WebDriver BiDi için deneysel desteği bir süreliğine kullanabilirsiniz. Bugünden itibaren, Tarayıcı Yığını'nda barındırılan Selenium Grid'deki üretimde WebDriver BiDi komutları!

Bu sayede istek müdahalesi, gelişmiş emülasyon ve gerçek zamanlı olarak ele alıyor (yalnızca Chrome'da değil, WebDriver BiDi'yi destekleyen bir tarayıcı.

Aşağıdaki örnekte, WebDriver BiDi kullanılarak günlük etkinliklerinin nasıl dinleneceği gösterilmektedir tıklayın. Yakalanan günlükler daha sonra şuralarda da inceleme için kullanılabilir: 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!
})();

Tarayıcı Yığını sadece başlangıç

Chrome Tarayıcı Otomasyonu ekibi, webDriver BiDi desteğini bugün başlatıyorlar! Ayrıca WebDriver BiDi desteğinin Tarayıcı Yığını, diğer araçlar ve araçlar arasında da genişlediğini gördük. gibi diğer büyük tarayıcılarda da kullanılabilecek.

Bu duyuru sizi test etme konusunda heyecanlandırdıysa ancak henüz web.dev adresindeki Learn Testing kursumuza göz atmayı unutmayın.