Otomatisasi dengan WebDriver BiDi kini tersedia di BrowserStack

Matthias Rohmer
Matthias Rohmer

Selama tiga tahun terakhir, tim Otomatisasi Browser Chrome berkolaborasi dengan browser dan vendor alat besar lainnya seperti BrowserStack untuk buat WebDriver BiDi—protokol otomatisasi browser baru yang memungkinkan alur kerja otomatisasi dua arah di seluruh browser. Ini sebelumnya hanya dapat dilakukan dengan Chrome DevTools eksklusif Protokol di browser berbasis Chromium.

Hari ini menandai tonggak pencapaian penting dari upaya bersama ini sebagai WebDriver BiDi akhirnya siap untuk produksi bagi developer, dimulai dengan BrowserStack sekarang juga.

Selenium dan BrowserStack

Baru-baru ini BrowserStack menjadi Partner Pengembangan resmi Selenium, framework otomatisasi browser open source yang matang yang juga berkontribusi pada BiDi WebDriver. Kemitraan ini adalah bukti kelanjutan dari BrowserStack investasi dalam ekosistem pengujian yang berkembang, dengan BrowserStack juga menggunakan beberapa pengelola inti Selenium.

Bagian dari proyek Selenium adalah Selenium Grid, yang memungkinkan Anda menjalankan pengujian di beberapa perangkat secara paralel. Tapi mengatur {i>Grid<i} sendiri, mendapatkan dan memelihara lusinan perangkat yang berbeda, dan membuatnya tetap tersedia bisa menjadi tantangan atau bahkan tidak mungkin bagi sebagian orang.

Solusi Selenium Grid yang dihosting seperti BrowserStack dapat memudahkan Anda menjalankan pengujian di berbagai platform dan perangkat—tanpa perlu mengelolanya di sendiri.

WebDriver BiDi di Selenium Grid

Selenium didasarkan pada standar WebDriver (perhatikan BiDi yang hilang) tetapi memiliki dukungan eksperimental untuk WebDriver BiDi untuk sementara waktu. Mulai hari ini, Anda dapat menggunakan Perintah WebDriver BiDi dalam produksi di Selenium Grid yang dihosting BrowserStack!

Yang terakhir ini memungkinkan fitur seperti intersepsi permintaan, emulasi lanjutan, dan menangani peristiwa browser secara real-time—dan tidak hanya di Chrome, tetapi di setiap browser yang mendukung WebDriver BiDi.

Contoh berikut menunjukkan cara memproses peristiwa log, menggunakan WebDriver BiDi di BrowserStack. Log yang tertangkap kemudian juga tersedia untuk diperiksa 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 hanyalah permulaan

Tim Otomatisasi Browser Chrome mengucapkan selamat kepada tim di BrowserStack atas kami meluncurkan dukungan WebDriver BiDi! Kami juga menantikan melihat dukungan untuk WebDriver BiDi yang diperluas di BrowserStack, alat lainnya seperti Selenium, serta {i>browser<i} utama lainnya dalam beberapa minggu mendatang.

Dan jika pengumuman ini membuat Anda bersemangat untuk melakukan pengujian, tetapi Anda belum memulai perjalanan pengujian Anda, pastikan untuk melihat kursus Mempelajari Pengujian di web.dev.