この 3 年間、Chrome のブラウザ自動化チームは BrowserStack などの他の主要なブラウザやツール ベンダーと共同で、 ブラウザの新しい自動化プロトコルである WebDriver BiDi を作成する これにより、ブラウザをまたいだ双方向の自動化ワークフローが可能になります。これらの ワークフローは、以前は独自の Chrome DevTools でのみ可能でした。 Chromium ベースのブラウザのプロトコル。
本日、WebDriver BiDi というこの共通の取り組みの重要なマイルストーンとなる デベロッパーが最終的に本番環境に対応。 今すぐ始めましょう。
Selenium と BrowserStack
最近、BrowserStack は Selenium の公式開発パートナーになりました。 成熟したオープンソースのブラウザ自動化フレームワークであり、 WebDriver BiDi。このパートナーシップは、BrowserStack が 活発なテスト エコシステムへの投資を続けており、BrowserStack も Selenium のコア メンテナンス担当者も数人います。
Selenium プロジェクトの一部は Selenium Grid です。 これにより、複数のデバイスで並行してテストを実行できます。しかし、グリッドを 自力で立ち上げ、数十種類のデバイスを入手して維持する必要がありました。 利用可能な状態に維持することは、人によっては困難または不可能な場合もあります。
BrowserStack などのホスト型 Selenium Grid ソリューションを使用すると、 さまざまなプラットフォームやデバイスでテストを実施できます。 あります。
Selenium Grid 上の WebDriver BiDi
Selenium は WebDriver 標準(BiDi がないことに留意)に基づいていますが、 WebDriver BiDi の実験的なサポートを しばらく行いました本日より BrowserStack がホストする Selenium Grid 上で、WebDriver BiDi コマンドが本番環境で使用可能
これにより、リクエストのインターセプト、高度なエミュレーション、 ブラウザ イベントをリアルタイムで処理できます。これは Chrome だけでなく、 サポートしています。
次の例は、WebDriver BiDi を使用してログイベントをリッスンする方法を示しています。 。キャプチャしたログは、VM 上での 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 は出発点にすぎない
Chrome ブラウザ自動化チームは BrowserStack チーム、 本日より WebDriver BiDi のサポートをリリースしますまた、クラウド コンピューティングの WebDriver BiDi のサポートが BrowserStack やその他のツールに拡大 その他の主要ブラウザにも対応予定です。
今回の発表でテストに興味があったものの、まだ始めていないのであれば、 web.dev の「テストの学習」コースをご確認ください。