Seleniumとは
Webアプリケーション用テストツール。
ブラウザの操作をシミュレート(自動化)して、Webアプリケーションの画面周りの再帰試験(リグレッションテスト)を実施することができる。
Selenium 2.0 以降より、WebDriver という API・実装を使った構成に変わった。
WebDriver API を使うようになったので、テストのスクリプトコードも大きく変更された。
例えば、ブラウザから Google を開いて「Twitter」と検索。
検索結果から Twitter のサイトを開いてログインする……といった Web の遷移を自動化できます。
Badboy よりメジャーかつ広く使われているツールですね。
検証内容
Badboy の代わりに監視に組み込めたら色々できるかも、という発想の元、以下の流れで進めました。
- 検証機に Selenium をインストールする
- Selenium スクリプトの記録ツールを使って、コードを作成
- 検証機で正常に動作するか確認
- 監視サーバ(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 を起動する
起動コマンドはこちら。
- Selenium スクリプトの記録ツールを使って、コードを作成
- 検証機で正常に動作するか確認
- 監視サーバ(Nagios)から nrpe 経由で Selenium が動作するか検証