第5回 Seleniumでのテストの記述方法 - テスト講座
TOM先生のテスト講座
Lecutures on PHP
第5回 Seleniumでのテストの記述方法 (その3)
ここまで記述したHTMLテーブルを実行する方法
HTMLテーブルの記述方法を説明してきましたが、決められたルールで記述したHTMLを作った後どのようにしたらそれを実行できるかをここでは説明します。次のような手順を行うことによってSeleniumで実行することができます。
(1) テスト内容を記載したHTMLファイルを保存する
決められたルールでHTMLテーブルを記載したHTMLをApacheで公開しているディレクトリ以下に保存します。(/selenium-tests/といったURLでアクセスできるように保存する)
Seleniumではこのような1つ1つのファイルで記載された各テストのことをTestCaseと呼んでいます。
(2) TestSuiteファイルを作成して保存する
(1)で保存したディレクトリに次のようなHTMLファイルを作成して保存します。このファイルはTestSuiteファイルと呼ばれます。
図9 TestSuiteファイルの例
<html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <table border="1"> <tr> <td>TestSuite</td> </tr> <tr> <td><a href="test1.html">両方入力しない</a></td> </tr> <tr> <td><a href="test2.html">1つめだけ入力</a></td> </tr> </table> </body> </html>
上記の例のように(1)で作成したファイルへのリンクを記述したHTMLテーブルを作成するとSeleniumに対してどの順番でテストをしてほしいかを指示することができます。
(3) SeleniumのTest RunnerでTestSuiteファイルを選択する
最後にSeleniumのTest Runnerで(2)で作成したSeleniumのTestSuiteを選択すればSeleniumはTestSuiteファイルを読み込んだ後、順番に個別のファイルを読み込んでテストを順次実行してくれます。
簡単にテストケースを作る方法
ここまで読み進めてもらってファイルを作成するのが大変だなぁと感じた方が多いのではないでしょうか?
Seleniumでのテストの記述方法はルールは単純ですがそれを一つ一つ記述していくのはやはり大変な作業になります。
そこで"Selenium IDE"というツールの登場になります。これを使用すれば、実際に操作した内容を記録することができ、記録した内容をそのままSeleniumのテストケースとして使用することができます。
Selenium IDEはFirefoxのアドオンとして配布されています。そのため使用するためにはFirefoxを利用する必要があります。ただし、テストの記述をするために使用するツールですので、Selenium IDEで作成したテストを使って他のブラウザのテストを行うことも可能です。
使用方法は次のような流れになります。
(1) Selenium IDEを入手する
Selenium IDEは以下のサイトで配布されています。
Selenium IDE::Firefox Add-ons
https://addons.mozilla.org/ja/firefox/addon/2079
(2) Selenium IDEを起動する
FirefoxのツールメニューにSelenium IDEがありますので、Selenium IDEを起動します。以下のような画面が表示されます。

(3) Selenium IDEの記録ボタンをクリックする
Selenium IDEの右上にある記録ボタンを押すと記録が開始されます。

(4) テストしたいWebアプリケーションを操作する
テストしたい順番にWebアプリケーションを実際に操作します。操作していくとその操作手順がSelenium IDEによって記録されていきます。
(5) もう一度Selenium IDEの記録ボタンをクリックする
もう一度Selenium IDEの右上の記録ボタンを押すと記録が終了します。
さてSelenium IDEを見てみましょう。先ほどまで操作した内容が記録されているはずです。テーブルタブでテスト内容が表示されていて、ソースタブでHTMLでの内容が表示されます。


記録したテスト内容を保存して、後は必要に応じて編集して利用します。Selenium IDEの記録機能を使って生成できるものは基本的にActionコマンドになるので、Accessorsコマンドに関しては必要に応じて追加したり、一旦保存してエディタ等で編集しましょう。
今回のまとめ
- Seleniumでテストを記述する方法にはルールがある
- HTMLテーブルにコマンド、ターゲット、バリューを記述することによってテストを記述する
- ターゲットには「何に対して?」というものを指定する場合が多く、その多くはHTMLの要素の指定を行う
- HTML要素の指定方法の一番簡単な方法はid指定で、それができない場合はlinkやxpathやdomを使うことになる
- コマンドには"Actionコマンド"と"Accessorsコマンド(Assertionコマンド含む)"がある
- Actionコマンドはブラウザに対する操作をエミュレートすることができる
- Accessorsコマンド(Assertionコマンド含む)は動作させた結果を保持したり、評価したりすることができる
- 記述したテストを実行するためにはTestSuiteファイルを作る必要がある
- Seleniumのテストを記述するのは大変なのでその作業を支援するためにSelenium IDEというツールがある
次回は?
今回までで結合テストの解説は終了です。次回からはUnitTestについて解説していきます。
その他の記事も見る
- 第1回 "テスト"ってどんなイメージ?
- 第2回 テストの目的と種類
- 第3回 結合テストをする理由
- 第4回 Seleniumの実行環境を作ってみよう
- 第5回 Seleniumでのテストの記述方法
- 第6回 UnitTestをする理由
- 第7回 DocTestを使ってUnitTestをやってみよう
- 第8回 UnitTestをする理由(再び)
- >>「TOM先生のテスト講座」一覧ページに戻る
- TOM先生
本名:小林智樹
ソリッド・ブルー株式会社 代表取締役CTO http://solidblue.jp/
Mapleプロジェクト コミッター http://kunit.jp/maple/
SI企業にて、運用保守担当として大手企業や各省庁の大規模システムを支える。
その後、起業・独立し、現在はソリッド・ブルー株式会社のCTOとして、PHPを中心とした技術戦略の立案などを行っている。また、PHPフレームワークMapleプロジェクトの一員として、RESTfulやTDDについて普及活動を展開している。





ページのトップへ


GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。