WicketTester - проверка содержимого панели после renderOnDomReadyJavascript () - PullRequest
0 голосов
/ 22 марта 2012

Использование Apache Wicket 1.4:

У меня есть панель, которая вызывает некоторые настройки Javascript в своем обратном вызове renderHead () ajax:

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:

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 Ответ

1 голос
/ 23 марта 2012

WicketTester просто эмулирует клиента (браузер). Он не выполняет никакого JavaScript. Все, что вы можете сделать с WicketTester, это утверждать, что контент генерируется. Если вам нужно выполнить JavaScript, вам нужно использовать что-то вроде http://wicketpagetest.sourceforge.net/ или http://seleniumhq.org/

...