Puppeteer、テスト自動化の次世代標準「WebDriver BiDi」に対応開始。Firefoxもサポートへ

2024年1月15日

Node.jsでヘッドレスブラウザを用いたテスト自動化のためのフレームワーク「Puppeteer」が、ブラウザ自動化の次世代標準である「WebDriver BiDi」(「BiDi」は双方向を表すため、読みは「ウェブドライバー バィディ」とのこと)への対応を開始しました

Puppeteerは、ChromiumベースのWebブラウザに対してChrome DevTools Protocolを用いて通信することで、Webブラウザの操作を自動化するとともに、コンソールに表示される情報やログなどの収集、画面キャプチャなどの取得によって、テストの自動化を効率化してくれる機能を備えています。

このPuppeteerが、現在策定中の次世代標準の「WebDriver BiDi」に対応を開始しました。これにより、実験的に行われていたFirefoxのサポートもWebDriver BiDiにより本格的に開始されることになります。

WebDriver BiDiとは、次世代のテスト自動化標準

現在のテスト自動化のための標準として「WebDriver」がよく知られています。WebDriverは現在ほとんどのWebブラウザが実装しています。

しかしWebDriverは、Chrome DevTools Protocolが備えているような低レイヤのAPIを十分に備えておらず、またレンダリングが終了するタイミングが分からずテストスクリプト側でポーリングを行うなどテクニックが求められる場面がありました。

一方、Chrome DevTools ProtocolはWebSocketによる高速な双方向通信、コンソール上のメッセージを取得するなど低レイヤのAPIにも対応するなど、より柔軟かつ高度なテスト自動化を実現できました。しかし、ChromiumベースのWebブラウザでしか使えませんでした。

そこで、Chrome DevTools Protocolのような多くの優れた機能を備えつつ、WebDriverのように標準化されたクロスブラウザ対応のテスト自動化仕様として、現在W3Cで策定中なのが「WebDriver BiDi」です。

現時点でWebDriver BiDiは仕様策定中ですが、Webブラウザ側ではChromeとMicrosoft Edge、そしてFirefoxがWebDriver BiDiの対応を順調に進めています

fig

WebDriver BiDi Working Groupは下記のように主要なブラウザベンダ、テストフレームワークの開発チームなどが参加しているため、事実上の業界標準になると見られます。

fig

PuppeteerのFirefoxサポートも本格化

そしてこのWebDriver BiDiを、テスト自動化フレームワークのPuppeteerが対応を開始したことが今回明らかになったわけです。

PuppeteerはこれまでChromiumベースのブラウザに加えて、Firefoxも実験的にサポートしていました。しかしFirefoxがChrome DevTools Protocolに対応していなかったため、サポートは限定的なものになっていました。

PuppeteerがWebDriver DiBiに対応し、FirefoxもWebDriver Bidiに対応することで、PuppeteerによるFirefoxサポートも今後本格的に行われることになります。

2024年8月追記:実装されFirefoxを正式にサポートしました

あわせて読みたい

Web技術 Web標準 ソフトウェアテスト・品質 開発ツール Chrome Firefox




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本