【Servlet】【JSP】JWebUnit ~ Servlet / JSP のためのテストツール ~

JWebUnit

 * Servletのテストを自動化するためのオープンソースのテストフレームワーク

JWebUnitの設定

[0] 設定

 [1] 以下から、JWebUnitjwebunit-X.X-release.zip) をダウンロード
http://sourceforge.net/projects/jwebunit/files/JWebUnit/
 [2] ダウンロードしたZIPファイル(ここでは「jwebunit-3.2-release.zip」)を解凍し、
   以下のファイルおよびフォルダをEclipseのプロジェクト上に置いておく
   * jwebunit-core-3.2.jar
   * jwebunit-htmlunit-plugin-3.2.jar
   * lib (htmlunit-2.14.jarなどが格納されている)

 [3] Eclipse のプロジェクトの Java ビルドパスに、[2]のJARを追加
 [4] テストコードを書く(下記のサンプルを参照のこと)

[1] テスト手順

 [1] Tomcatを開始する
 [2] テストコードを実行するために、テストコードを右クリックし[Run As]-[JUnit Test]を選択

サンプル

 * 対象のテストは以下の関連記事の「LoginView.jsp
http://blogs.yahoo.co.jp/dk521123/33567439.html

LoginViewTest.java

import junit.framework.TestSuite;
import net.sourceforge.jwebunit.junit.WebTestCase;

@SuppressWarnings("deprecation")
public class LoginViewTest extends WebTestCase {
   public static void main(String[] args){
      junit.textui.TestRunner.run(new TestSuite(LoginViewTest.class));
   }
   public void setUp(){
      getTestContext().setBaseUrl("http://localhost:8080/SampleWeb/");
   }
   public void testLogin1() {
      beginAt("/Views/LoginView.jsp");
      assertTitleEquals("Login");
      setTextField("userName", "admin");
      setTextField("password", "admin");
      submit();
      assertTitleEquals("Welcome page");
      assertTextPresent("Welcome, Mr/Ms. admin!!");
   }

   public void testLogin2() {
      beginAt("/Views/LoginView.jsp");
      assertTitleEquals("Login");
      setTextField("userName", "admin");
      setTextField("password", "failed...");
      submit();
      assertTitleEquals("Login");
   }
}