2012-03-22 23 views
0

にApache Wicketの1.4を使用する:WicketTester - renderOnDomReadyJavascript後パネルの内容をチェック()

public SimplePanel(String id) { 

    super(id); 

    add(JavascriptPackageResource.getHeaderContribution(SimplePanel.class, "SimplePanel.js")); 

    AbstractDefaultAjaxBehavior b = new AbstractDefaultAjaxBehavior() { 
     private static final long serialVersionUID = 1L; 

     @Override public void renderHead(IHeaderResponse response) { 
      super.renderHead(response); 
      response.renderOnDomReadyJavascript("init()"); 
     } 

     @Override protected void respond(AjaxRequestTarget target) { 

     } 
    }; 

    add(b); 
} 

Javascriptを::

は、私はそのrenderHead()AjaxのコールバックでいくつかのセットアップJavascriptを呼び出すパネルを持っています

function init() { 
    var div = document.getElementById("data"); 
    div.innerHTML = "XXXuniqueXXX"; 
} 

私はWicketTesterを使用してこれをテストしようとしています。

Panel panel = tester.startPanel(new TestPanelSource() { 
    public Panel getTestPanel(String panelId) { 
     return new SimplePanel(panelId); 
    } 
}); 

tester.assertNoErrorMessage(); 
tester.assertContains("XXXuniqueXXX"); 

renderOnDomReadyJavascript("init()")メソッドは、ファインと呼ばれますが、init()自体はトリガーしないようです。

このDomReady条件をトリガするには、何を呼び出す必要がありますか?

答えて

1

WicketTesterはクライアント(ブラウザ)をエミュレートします。 JavaScriptは実行されません。 WicketTesterでできることは、コンテンツが生成されたことを主張することだけです。 JavaScriptを実行する必要がある場合は、http://wicketpagetest.sourceforge.net/またはhttp://seleniumhq.org/

+0

のようなものを使用する必要があります。 – flend

関連する問題