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