gpt4 book ai didi

java - WicketTester - 在 renderOnDomReadyJavascript() 之后检查面板内容

转载 作者:行者123 更新时间:2023-12-01 15:28:48 25 4
gpt4 key购买 nike

使用 Apache Wicket 1.4:

我有一个面板,在其 renderHead() ajax 回调中调用一些设置 Javascript:

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 条件?

最佳答案

WicketTester 只是模拟客户端(浏览器)。它不执行任何 JavaScript。使用 WicketTester 所能做的就是断言内容已生成。如果您需要执行 JavaScript,那么您需要使用类似 http://wicketpagetest.sourceforge.net/ 的内容。或http://seleniumhq.org/

关于java - WicketTester - 在 renderOnDomReadyJavascript() 之后检查面板内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com