WebページのスクリーンショットをRobot Framework(+SeleniumLibrary)で撮るスクリプト

はじめに

URLの一覧を入力に、Webページのスクリーンショットをとる作業をRobot Framework(+SeleniumLibrary)で自動化してみます。
Robot Frameworkを使ってみたかっただけなのであまり実用性は考えてませんが、UI変更の都度発生するドキュメントのメンテ作業などで役立つかもしれません(認証部分の追加は必要ですが)。

robotframework.org

前提

便利なDockerイメージがあるのでこちらを使わせてもらいます。

github.com

実装

スクリプト capture.sh で次の処理を実行します。

  1. URLの一覧を標準入力もしくは第一引数のファイルから取得
  2. ./tasks/tasks.robotスクリーンショットを撮るタスクを出力
  3. robot-framework コンテナでタスクを実行
  4. ./reports/*.pngスクリーンショットを出力(ファイル名は Get Title で取得したページのタイトル)

実行例

https://www.google.comスクリーンショットを撮ってみます。

f:id:hiroki-sawano:20200728070312g:plain