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

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

Seleniumとは

Webアプリケーション用テストツール。
ブラウザの操作をシミュレート(自動化)して、Webアプリケーションの画面周りの再帰試験(リグレッションテス> ト)を実施することができる。
Selenium2.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で。
環境はCentOS7.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を起動する
起動コマンドはこちら

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