オープンソースコラム


2009/09/07 14:35Update

HtmlUnit - Java開発者向けGUIレス ブラウザー

TAGS: HtmlUnit | テスト | ユニット | ブラウザー | Java | Apache

スポンサード リンク


HtmlUnitは、Java開発者向けWebアプリケーションのユニット・テスト フレームワークで、GUIレスのブラウザーをシュミレーションし、Webアプリケーションの動作をすばやく検証することができます。                

動作環境


◇ 言語:Java
◇ ライセンス:Apache license ver2

機能・特徴


◇ HTTP/HTTPSプロトコルサポート
◇ クッキーサポート
◇ POST/GETメソッドサポート
◇ サーバへのリクエスト・ヘッダ情報をカスタマイズ可能
◇ フォーム・サブミット サポート
◇ リンク・クリック サポート
◇ DOM解析機能
◇ プロキシ・サーバ サポート
◇ basic / NTLM 認証サポート
◇ JavaScriptサポート
    * jQuery 1.2.6: Full support
    * MochiKit 1.4.1: Full support
    * GWT 1.7.0: Full support
    * Sarissa 0.9.9.3: Full support
    * MooTools 1.2.1: Full support
    * Prototype 1.6.0: Very good support
    * Ext JS 2.2: Very good support
    * Dojo 1.0.2: Good support
    * YUI 2.3.0: Good support

例:
@Test
public void homePage() throws Exception {
    final WebClient webClient = new WebClient();
    //ブラウザー設定
    //final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_2);
    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
    assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());

    final HtmlDivision div = page.getHtmlElementById("some_div_id");    //idから要素取得

    final HtmlForm form = page.getFormByName("myform");    //フォーム取得
    final HtmlSubmitInput button = form.getInputByName("submitbutton");
    final HtmlTextInput textField = form.getInputByName("userid");
    textField.setValueAttribute("root");

    final HtmlPage page2 = button.click();    //サブミットフォーム
}

.

Sponsored Link