ではJavaでテストケースを記述していきます。HTMLの場合と比較するため、HTMLで作成したのと同じ試験項番1-1をJavaで実装してみることにしましょう。
Javaなどの開発言語を使う場合でも、テストコードの作成方法はHTMLの場合と基本的には同じです。すなわち、手動での操作手順をSeleniumコマンドに置き換えていきます。その際に使用するコマンドはHTMLの場合とほとんど同じですが、テストコードの書き方は以下のようになります。なお検証はSeleniumコマンドとJUnitのメソッドを組み合わせて実施し、組み合わせ方には2つのパターンがあります。
- Webブラウザの操作
-
- Seleniumオブジェクトのメソッドとして実行する
- 例:selenium.open("/MyMibo/index.jsp");
- パターン1:対象の値を取得して検証する
-
- Seleniumオブジェクトのget〜メソッドで値を取得し、JUnitのassertEqualsで検証
- 例:assertEquals("MyMeibo 社員一覧", selenium.getTitle());
- パターン2:対象が指定した条件を満たすか検証する
-
- Seleniumオブジェクトのis〜メソッドでbooleanを取得し、JUnitのassertTrue・assertFalseで検証
- 例:assertTrue(selenium.isTextPresent("社員一覧"));
表3:組み合わせ方
Seleniumオブジェクトで扱えるメソッドについては、以下のAPIドキュメントを参考にしてください。
試験項番1-1でどのようなSeleniumコマンドを使用していたか、HTMLのテストケースtableをふりかえってみます。
01_EmpDisplay_Test_001 |
open |
/MyMeibo/index.jsp |
assertTitle |
MyMeibo 社員一覧 |
verifyTextPresent |
社員一覧 |
verifyElementPresent |
id=emptable |
表4:試験項番1-1のHTMLテストケースtable
これを基にJavaのテストコードを実装すると以下のようになります。親クラス(TestBaseクラス)でSeleniumオブジェクトのインスタンスseleniumを生成しているので、各テストケースクラスでは直接seleniumインスタンス変数を使用することができます。
IT01EmpDisplayTest.java
package test.selenium.it;
public class IT01EmpDisplayTest extends TestBase {
// 1-1
public void test001() {
// URLを開く
selenium.open("/MyMeibo/index.jsp");
// タイトルの検証
assertEquals("MyMeibo 社員一覧", selenium.getTitle());
// 表示文字列の検証
assertTrue(selenium.isTextPresent("社員一覧"));
// 社員一覧テーブルが表示されているか検証
assertTrue(selenium.isElementPresent("id=emptable"));
}
// 1-2
public void test002() {
}
// 1-3
public void test003() {
}
}
|