気になったニュース記事をちょっと深掘りしてみる記事です。
今回は、Chromeでテスト向けのブラウザーが登場したという記事を見かけたので触ってみました。
このツールが登場して何が嬉しいのかというと、Chromeを任意のバージョンで自由に立ち上げられるようになり、かつ自動化ツール向けのドライバーも合わせてサポートされたことです。
Chromeは、通常であれば自動でバージョンアップされていくため、ブラウザーを再起動すると新しいバージョンに変わってしまうことはよくありました。
記事の中にも書いてありましたが、「ユーザにとっては便利ですが、開発者にとっては苦痛です」の1文が、まさにそうそう、と共感できるものですね。
前職でRPAチームを見ているときによく発生していたので、 一生忘れることのない思い出かもしれません。
今となっては話のネタとして使えるので、結果的には良かったのかなと思いますが、 当時は非常に大変な思いをしていました。
記事の中ではこの バージョンの自動アップデートの問題を解決するために、Chromiumがよく使われているということに触れられていたので、
そのような使い方を解消するために登場してきたみたいですね。
ということで早速インストールして使ってみたいと思います。
インストール方法
ドキュメントを見てみると、通常のChromeをインストールする時のようにインストーラーはなく、CLIツールのみです。
コマンドを見てみるとnpxを使用するので、nodeコマンドが使用できるようにする必要はありそうですね。
コマンドはinstall
とlaunch
とclear
の大きく3つがありますが、詳しくはnpx @puppeteer/browsers --help
を実行して確認してください。
コマンド | 説明 |
---|---|
install | 特定のバージョンのバイナリーをインストールする。 |
launch | インストールしたバイナリーを実行する。***.app 形式で保存さているため、Finderから直接実行することもできそうです。 |
clear | インストールしたファイルを削除する。 |
コマンド実行時に困ったことを補足すると、オプションを見た感じだと[デフォルト: Auto-detected]
となっていたので、自動で検出されるような気がしますがApple siliconが正しく認識されずに、Intel版でインストールされていました。
もし同じようにIntel版でインストールされてしまう方は、--platform
のオプションを指定してインストールしてみてください。
ダウンロードできるバージョンを確認したい場合はこちらを参照。
https://googlechromelabs.github.io/chrome-for-testing/known-good-versions.json
# Intel npx @puppeteer/browsers install chrome@stable # Apple silicon npx @puppeteer/browsers install --platform mac_arm chrome@stable
特定のバージョンをインストールする場合はこちらです。
# Intel npx @puppeteer/browsers install chrome@116.0.5793.0 # Apple silicon npx @puppeteer/browsers install --platform mac_arm chrome@116.0.5793.0
正しくインストールされたかどうかは、次のコマンドを実行して確認します。
ls -1 chrome
実行結果はこんな感じです。
❯ ls -1 chrome mac_arm-114.0.5735.133
実行方法
実行する場合は、ビルドIDを正確に指定する必要があるという感じのことが書かれていたので、stable
などの表記ではなくxxx.xxx.xx
の形式に置き換えて実行します。
npx @puppeteer/browsers launch chrome@114.0.5735.133 --platform mac_arm
すると、しばらくしてブラウザーが立ち上がると思います。
せっかくなので、古いのをインストールしてみようと思ったのですが、そこまで大袈裟に古いものはインストールできないみたいですね。
インストール可能な一覧を見たら1つ前のメジャーバージョンの最新までのようでした。
違うバージョンも試してみるという意味で。
npx @puppeteer/browsers install --platform mac_arm chrome@113.0.5672.0
インストールが終わったら、実行する。
npx @puppeteer/browsers launch --platform mac_arm chrome@113.0.5672.0
無事に立ち上がりました。
最後に
Chromeのバージョン切り替えが楽になりましたね。
他にもFIrefoxやChromiumも同じように使えるようなので、テストや自動化ツールで上手く使っていきたいですね。