たかがスクリーンショット、されどスクリーンショット。
昔からWebページやWebシステムなどのスクリーンショットを手軽に撮りたい、定期的・自動的に撮りたいというニーズは存在し、古くは ImageMagick 利用が主流の時代があり、ここ5年程では Selenium の利用が活発でした。そして2018年現在注目を集めているのが、Google 製の Headless Chrome API の node.js 実装である Puppeteer です。
既に Selenium のノウハウを持っているチームにとっては、Puppeteer の利用自体が大きなパラダイムシフトになるわけではないのかもしれませんが、こういった小さなタスクから最新かつスマートな技術を実験し取り入れていくのが、チーム内のリテラシー向上や学習意欲アップには効果的です。
本記事では、Puppeteer と docker、そして Jenkins を使って、サクッと定期的にスクリーンショットを撮る方法を、実際の現場で利用できるスクリプトと共に紹介します。