jWebUnit


■内容

Top

■jWebUnit とは

Top
■参考URL
Top

■Eclipse 上で jWebUnit を使用する

■jWebUnit のインストール
Top

■テストの方法

Top

■接続の確認例

Top
■単純に Web ページを確認する
■例題
Top
■リンクをクリックしてリンク先のページを確認する
■例題
Top
■フォームにデータを設定してsubmitし、アクション後のページを確認する
■例題
Top

■jWebUnit の クラス

■WebTestCase クラスのメソッド
Top
■TestContext クラスのメソッド
Top

■jWebUnit を使った単体テスト例

  1. jWebUnit のテスト・ケース(クラス)は、"JUnit テスト・ケース" で作成します。

    "WhipShopTest.java"

    1. import net.sourceforge.jwebunit.TestContext;
    2. import net.sourceforge.jwebunit.WebTestCase;
    3. public class WhipShopTest extends WebTestCase {
    4. TestContext context = getTestContext();
    5. public void setUp() throws Exception {
    6. context.setBaseUrl("http://localhost:8080/osjava");
    7. }
    8. // login - 基本メニュー表示
    9. public void test01() {
    10. beginAt("/login.jsp");
    11. assertFormElementPresent("name");
    12. assertFormElementPresent("password");
    13. setFormElement("name", "maruno");
    14. setFormElement("password", "himitu");
    15. submit(); // 基本メニュー画面に行く
    16. assertTextPresent("maruno");
    17. assertTextPresent(context.toEncodedString("こんにちは、maruno さん"));
    18. }
    19. // login - 商品リスト表示
    20. public void test02() {
    21. beginAt("/login.jsp");
    22. setFormElement("name", "maruno");
    23. setFormElement("password", "himitu");
    24. submit(); // 基本メニュー画面に行く
    25. submit(); // 商品リスト画面に行く
    26. assertTextPresent(context.toEncodedString("ふつうホイップ"));
    27. }
    28. // login - 買い物かご表示
    29. public void test03() {
    30. beginAt("/login.jsp");
    31. setFormElement("name", "maruno");
    32. setFormElement("password", "himitu");
    33. submit(); // 基本メニュー画面に行く
    34. submit(); // 商品リスト画面に行く
    35. submit("submit0"); // 買い物かご画面に行く
    36. // このため、productlist.jsp で、
    37. // <html:submit property="submit${i}" ...
    38. // とする。
    39. assertTextPresent(context.toEncodedString("ふつうホイップ"));
    40. assertFormElementPresent("qty(W01)");
    41. }
    42. // login - 個数を2個にする - 発注確認画面表示
    43. public void test04() {
    44. beginAt("/login.jsp");
    45. setFormElement("name", "maruno");
    46. setFormElement("password", "himitu");
    47. submit(); // 基本メニュー画面に行く
    48. submit(); // 商品リスト画面に行く
    49. submit("submit0"); // 買い物かご画面に行く
    50. assertFormElementPresent("qty(W01)");
    51. setFormElement("qty(W01)", "2");
    52. submit(); // 発注確認画面に行く
    53. assertTextPresent(context.toEncodedString("4,000"));
    54. }
    55. // login - 個数を2個にする - 発注 - 基本メニュー画面
    56. public void test05() {
    57. beginAt("/login.jsp");
    58. setFormElement("name", "maruno");
    59. setFormElement("password", "himitu");
    60. submit(); // 基本メニュー画面に行く
    61. submit(); // 商品リスト画面に行く
    62. submit("submit0"); // 買い物かご画面に行く
    63. submit(); // 発注確認画面に行く
    64. submit(); // 発注する
    65. assertTextPresent(context.toEncodedString("発注しました。"));
    66. }
    67. // ユーザー登録
    68. public void test11() {
    69. beginAt("/login.jsp");
    70. clickLink("userregist"); // ID属性を参照
    71. // このため、login.jsp で、
    72. // <html:link styleId="userregist" ...
    73. // とする。
    74. assertTextPresent(context.toEncodedString("ユーザー情報登録"));
    75. }
    76. // ユーザー登録 - 登録確認画面
    77. public void test12() {
    78. beginAt("/login.jsp");
    79. clickLink("userregist"); // ID属性を参照
    80. setFormElement("name", "maruno");
    81. setFormElement("password", "himitu");
    82. checkCheckbox("gender", "2");
    83. checkCheckbox("merried", "true");
    84. setFormElement("sendName", "丸野");
    85. setFormElement("postalCode", "123-4567");
    86. setFormElement("address[0]", "東京都");
    87. setFormElement("address[1]", "新宿区西新宿1-2-3");
    88. setFormElement("address[2]", "新宿ビル405");
    89. setFormElement("tel(home)", "03-9876-5432");
    90. setFormElement("tel(mobile)", "090-8765-4321");
    91. checkCheckbox("hobbies", "ikebana");
    92. checkCheckbox("hobbies", "sado");
    93. submit(); // 登録確認画面に行く
    94. dumpResponse(System.out);
    95. assertTextPresent("maruno");
    96. assertTextPresent("himitu");
    97. assertTextPresent(context.toEncodedString("女性"));
    98. assertTextPresent(context.toEncodedString("既婚"));
    99. assertTextPresent(context.toEncodedString("丸野"));
    100. assertTextPresent(context.toEncodedString("123-4567"));
    101. assertTextPresent(context.toEncodedString("東京都"));
    102. assertTextPresent(context.toEncodedString("新宿区西新宿1-2-3"));
    103. assertTextPresent(context.toEncodedString("新宿ビル405"));
    104. assertTextPresent(context.toEncodedString("03-9876-5432"));
    105. assertTextPresent(context.toEncodedString("090-8765-4321"));
    106. assertTextPresent(context.toEncodedString("生花, 茶道"));
    107. }
    108. }
Top

inserted by FC2 system