BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ブラウザ自動化ライブラリ Puppeteer が Firefox をサポート

ブラウザ自動化ライブラリ Puppeteer が Firefox をサポート

原文(投稿日:2020/04/18)へのリンク

ChromeDevToolsv8に取り組むGoogleの開発者であるMathias Bynens氏がPuppeteer 3.0リリースした。PuppeteerはChromeブラウザに加えてFirefoxをサポートするようになった。新しいバージョンでは、サポートが最新のChrome 81にアップグレードされ、Node 8のサポートが削除された。

Puppeteerは、DevToolsプロトコルを介してヘッドレスChromeまたはChromiumを制御する高レベルAPIを提供するブラウザテスト自動化Node.jsライブラリである。そのため、Puppeteerの新しいバージョンはChromeブラウザの新しいバージョンにリンクされていることが多く、古いNode.jsバージョンのサポートは終了している。これは、このリリースにも当てはまる。Puppeteer 2.0はChrome 79と非推奨のNode 6をサポートしていたが、Puppeteer 3.0は最新のChromeブラウザ (Chrome 81) をサポートしており、Node 8はサポートしていない。

ただし、Puppeteer 3.0は、さらにFirefoxをサポートする。Firefoxは、クロスブラウザテストを目的として利用を増やす用意である。Googleは、Andrey Lushnikov氏とJoel Einbinder氏によるModern Web Testing and Automation with Puppeteer (Google I/O ’19) の講演で、Google I/O ’19でMozillaのブラウザをサポートする最初の取り組み (コードネーム puppeteer-firefox) を通すことを発表した。その後、両名の開発者がMicrosoftに移動し、単一のAPIですべての主要なブラウザエンジン (ChromiumWebKitFirefox)をサポートする並行ブラウザ自動化Node.jsライブラリであるPlaywrightに取り組んでいる。Playwrightはリリースの最初のメジャーバージョンに迫り、99%のテストに合格している (v0.13) 。

Firefoxのサポートがpuppeteerパッケージに移行したため、puppeteer-firefoxパッケージは非推奨である。PuppeteerがFirefox Nightlyバイナリを取得できるようになった。Bynens氏は、Puppeteerを使用したFirefox自動化のをリンクしている。その抜粋は次のとおりである:

To have Puppeteer fetch a Firefox binary for you, first run:
> PUPPETEER_PRODUCT=firefox npm install

To get additional logging about which browser binary is executed, run this example as:
> DEBUG=puppeteer:launcher NODE_PATH=../ node examples/cross-browser.js

- You can set a custom binary with the `executablePath` launcher option.

Bynens氏は、ファイルアップロードの信頼性の向上、以前のカスタムテストランナーフレームワークからMochaへの切り替え、およびソースコードのTypeScriptへの移行についても言及している。後者について、Bynens氏は次のようにコメントしている:

これは、開発者がPuppeteerを使用する方法には影響しませんが、最新のエディタで使用できるPuppeteerタイプ定義の品質を向上させます。

開発者はTwitterで熱烈に反応した開発者が尋ねた:

すばらしい! npm install fooが自動的にpuppeteerと一致するFirefoxをインストールするように、puppeteerがnpmで公開された別のパッケージの依存関係がある場合にFirefoxをインストールする方法もありますか?

Bynens氏は、Firefoxのサポートが実験的でなくなったら要求された機能が実装されると答えた。

テストエコシステムの詳細については、JavaScriptとWeb開発 InfoQ トレンドレポート 2020を参照してください。Puppeteerは、Apache 2.0ライセンスの下で利用可能なオープンソースソフトウェアである。貢献は歓迎され、Puppeteerの貢献ガイドラインを尊重する必要がある。

この記事に星をつける

おすすめ度
スタイル

BT