Selama tiga tahun terakhir, tim Otomatisasi Browser Chrome telah berkolaborasi dengan vendor browser dan alat utama lainnya seperti BrowserStack untuk membuat WebDriver BiDi—protokol otomatisasi browser baru yang memungkinkan alur kerja otomatisasi dua arah di seluruh browser. Alur kerja ini sebelumnya hanya dapat dilakukan dengan Protokol Chrome DevTools eksklusif di browser berbasis Chromium.
Hari ini menandai pencapaian penting dari upaya bersama ini karena WebDriver BiDi akhirnya siap untuk produksi bagi developer, dimulai dengan BrowserStack hari ini.
Selenium dan BrowserStack
Baru-baru ini, BrowserStack menjadi Partner Pengembangan resmi Selenium, framework otomatisasi browser open source yang matang dan juga berkontribusi pada WebDriver BiDi. Kemitraan ini adalah bukti investasi berkelanjutan BrowserStack dalam ekosistem pengujian yang berkembang pesat, dengan BrowserStack juga mempekerjakan beberapa pengelola inti Selenium.
Bagian dari project Selenium adalah Selenium Grid, yang memungkinkan Anda menjalankan pengujian di beberapa perangkat secara paralel. Namun, menyiapkan Grid sendiri, memperoleh dan memelihara puluhan perangkat yang berbeda, dan memastikannya tersedia dapat 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 sendiri.
WebDriver BiDi di Selenium Grid
Selenium didasarkan pada standar WebDriver (perhatikan BiDi yang tidak ada) tetapi sudah lama memiliki dukungan eksperimental untuk WebDriver BiDi. Mulai hari ini, Anda dapat menggunakan perintah WebDriver BiDi dalam produksi di Selenium Grid yang dihosting BrowserStack.
Hal ini akhirnya 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 ditemukan kemudian juga tersedia untuk diperiksa di 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 karena meluncurkan dukungan WebDriver BiDi mereka hari ini. Kami juga berharap dukungan untuk WebDriver BiDi diperluas di BrowserStack, alat lain seperti Selenium, serta browser utama lainnya dalam beberapa minggu mendatang.
Jika pengumuman ini membuat Anda tertarik untuk melakukan pengujian, tetapi Anda belum memulai perjalanan pengujian, pastikan untuk melihat kursus Belajar Pengujian di web.dev.