某所でテストしなきゃ、という話が出てきたので、seleniumを使ったテスト入門を書いてみます。
ブラウザ上で一連の作業を行うjavascript、と考えておけば、イメージしやすいと思います。テストケースはhtmlで書きます。
例えば、Select Category to Postプラグインのテストケースは下記のようになります。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://selenium-ide.openqa.org/profiles/test-case"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="selenium.base" href="http://localhost/" /> <title>selectcategorytest</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <thead> <tr><td rowspan="1" colspan="3">selectcategorytest</td></tr> </thead><tbody> <tr> <td>open</td> <td>/wp-login.php</td> <td></td> </tr> <tr> <td>type</td> <td>user_login</td> <td>admin</td> </tr> <tr> <td>type</td> <td>user_pass</td> <td>password</td> </tr> <tr> <td>clickAndWait</td> <td>wp-submit</td> <td></td> </tr> <tr> <td>verifyLocation</td> <td>http://localhost/wp-admin/</td> <td></td> </tr> <tr> <td>clickAndWait</td> <td>selectcategory1</td> <td></td> </tr> <tr> <td>waitForChecked</td> <td>in-category-1</td> <td>true</td> </tr> </tbody></table> </body> </html>
この例では、wordpress へのログイン(ユーザー admin、パスワード password)、wp-adminへの遷移を検証、ダッシュボードでselectcategory1をクリック、カテゴリのチェックボックスがチェックされていることを確かめる、という一連の作業を自動的に実行し、ログを記録します。
Firefoxのプラグイン Selenium IDE を用いると、テストケース作成が楽になります。上記の例も、Selenium IDEを使いました。
[…] 今回はユニットテスト(単体テスト)を取り上げましたが、seleniumもテスト手法として有用だと思います。 […]