Selenium IDEの活用
さて、今までhtmlのテーブルでテストケースを書いてきましたが、すべて手書きをするのは大変です。そこで便利なツールがSelenium IDEです。Selenium IDEはFirefoxエクステンションで、ユーザーがブラウザ(Firefox)で行った操作を記録してSelenium用のテストコード(html)を生成してくれるというスグレモノです。
Selenium IDEのインストール
Selenium IDEはFirefoxエクステンションですので、Firefoxを起動し以下の手順でインストールします。
- Firefoxで以下のURLを開きます。
- 「selenium-ide-x-xx-x.xpi」をインストールし、Firefoxを再起動します。
Selenium IDEで記録する
Firefoxを起動し、メニューバーから[ツール]-[Selenium IDE]を選択します。するとSelenium IDEのウィンドウが別ウィンドウで開きます。Selenium IDEは起動した初期状態で記録可能になっているので、テストしたいアプリケーションを開き、試験させたい操作を実行します。
ここでは以下の手順を実行してみることにしましょう。
手順
- テスト対象アプリケーションのログイン画面のURLを開く*1
- 社員番号のテキストボックスに「123456」と入力
- パスワードのテキストボックスに「hanako」と入力
- ログインボタンを押す
- ログイン後のホーム画面に遷移したことを確認
以下の図は手順3まで実行した段階のキャプチャです。Selenium IDEのウィンドウに入力した値などが記録されていっています。
無事にログインできたら、Selenium IDEのレコーディングを止めます。Selenium IDEウィンドウの右上、赤い丸のRecordボタンが選択状態になっているのでクリックします。

Selenium IDEウィンドウを改めて見てみると、実際に実行したidやパスワードの入力の他に、assertTitleの行が含まれています。SeleniumIDEのオプション設定で「assertTitleを自動的に記録する」にチェックを入れておくと、SeleniumIDEでは、遷移した先のページタイトルを取得して自動的にタイトルの検証を追加してくれるのです。
また、右クリックメニューにテキスト表示の検証コマンド(verifyTextPresent)やtableの検証コマンド(verifyTable)が追加され、検証コマンドも同時に記録していくことが可能です。使い方はいたって簡単。表示検証の場合、検証したい文字列をドラッグで選択して、右クリックのメニューからverifyTextPresentを選択するだけです。tableの検証は、対象となるテーブルのセルの上で右クリックしてverifyTableを選択すればよいのです。
さて、Selenium IDEウィンドウの中央部「Source」タブをクリックすると、記録された内容についてのhtmlソースがブラウザ操作と同時に生成されていることが分かります。これでもうhtmlを手書きする必要がないわけです! このソースをテストケースのhtmlファイルにコピー&ペーストしてください。
ただし、拡張設定を行っている場合はその内容に従って出力されたソースを書き換えなければならない場合があります。例として、前回説明した「ボタンを表示された名前で指定する拡張設定」を実施している場合、Submitボタンを押した場合の出力は書き換える必要があります。
Selenium IDEで編集/再生する
Selenium IDEでは、記録したテストを再生することができます。Selenium IDEのplayボタンを押すと、中央部分に記録されている手順(コマンド)の通りにブラウザが自動操作されて動作します。
また、Selenium IDEで記録した内容を編集することができます。例えば上記ログインのテストで手順3の後に、ログイン画面上の表示を検証する項目を追加することができます。
そして、Selenium IDEで編集した内容で再生することができるので、コマンドの指定方法が正しいかどうか動作確認することができます。動作確認できたものをテストケースhtmlへコピーすれば、Seleniumのテスト画面を毎回起動する必要がありません。
Selenium IDE利用時の注意点
便利なSelenium IDEですが、いくつか利用時の注意点があります。
1.生成されるhtmlソースは文字コードがUTF-8である
次のように、Selenium IDEはcharset=UTF-8としてhtmlソースを生成するので、SJISやMS932でブラウザのencodingをしている場合文字化けしてしまいます。テストケースのhtmlとしてはmetaタグの行は無くても動作するので、megaタグの行を削除するか、charsetの記述をUTF-8からShift_JISやMS932に修正する必要があります。
または、SeleniumIDEの生成したコードのうちtabaleタグ部分だけをコピー&ペーストするという手段もあります。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>New Test</title> </head> :
また、Selenium IDEウィンドウで[File]-[Save Test As]を選択してhtmlファイルを名前をつけて保存する場合、ファイルの文字コードがUTF-8になっています。エディタなどで文字コードの変換を実施してください。
2.ブラウザによって動作が異なる
Selenium IDEで出力されたhtmlコードがすべてのブラウザで同様に動作する保障はありません。Selenium IDEを用いてテストケースを編集/再生(実行)して問題が無くても、そのテストケースをIEでTestRunnerを使って実行した場合、エラーが発生する可能性があるということを覚えておいてください。

