[WIP]Seleniumを使って遷移監視ができるか検証してみた

· 1 min read
[WIP]Seleniumを使って遷移監視ができるか検証してみた

Seleniumとは

Webアプリケーション用テストツール。
ブラウザの操作をシミュレート(自動化)して、Webアプリケーションの画面周りの再帰試験(リグレッションテスト)を実施することができる。
Selenium 2.0 以降より、WebDriver という API・実装を使った構成に変わった。
WebDriver API を使うようになったので、テストのスクリプトコードも大きく変更された。

例えば、ブラウザから Google を開いて「Twitter」と検索。
検索結果から Twitter のサイトを開いてログインする……といった Web の遷移を自動化できます。

Badboy よりメジャーかつ広く使われているツールですね。

検証内容

Badboy の代わりに監視に組み込めたら色々できるかも、という発想の元、以下の流れで進めました。

  1. 検証機に Selenium をインストールする
  2. Selenium スクリプトの記録ツールを使って、コードを作成
  3. 検証機で正常に動作するか確認
  4. 監視サーバ(Nagios)から nrpe 経由で Selenium が動作するか検証

漠然とこんな感じで考えました。
本来は Ruby や Python などでコードを作成するのですが、しんどいので記録ツールを使います。
詳しくは後程。

1. 検証機に Selenium をインストールする

CLI だとそのままでは Selenium は動きません。
基本的に GUI 環境下でのツールになるので、仮想の GUI 環境とブラウザを用意する必要があります。

  • 仮想の GUI 環境 …「Xvfb」
  • ブラウザ …「Firefox」

をそれぞれ用いていきたいと思います。
ブラウザは Chrome もありますが、今回は Firefox で。
環境は CentOS 7.4(Maipo)を利用します。

Xvfb と Firefox のインストール

まずは仮想の GUI 環境である Xvfb と、ブラウザの Firefox をインストールします。

Java のインストール

yum install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64

Xvfb と Firefox のインストール

yum -y install xorg-x11-server-Xvfb firefox

ブラウザの文字化けを防ぐために日本語フォントをインストール

yum -y groupinstall "Japanese Support"

bash の設定変更
bash_profile に以下を追記します。

# User specific environment and startup programs
export DISPLAY=:1
PATH=$PATH:$HOME/bin

Xvfb を起動する
起動コマンドはこちら。


  1. Selenium スクリプトの記録ツールを使って、コードを作成
  2. 検証機で正常に動作するか確認
  3. 監視サーバ(Nagios)から nrpe 経由で Selenium が動作するか検証