如何在JUnit测试中测试wicket ajaxBehavior上附加的javascript?

如何在JUnit测试中测试wicket ajaxBehavior上附加的javascript?,javascript,ajax,unit-testing,junit,wicket,Javascript,Ajax,Unit Testing,Junit,Wicket,我有一个函数,在onload()方法中将一些javascript附加到AjaxRequestTarget 我把它装了 add(onload); onload的代码如下 AjaxEventBehavior event = new AjaxEventBehavior("onload") { @Override protected void onEvent(final AjaxRequestTarget target) { attachJava

我有一个函数,在onload()方法中将一些javascript附加到AjaxRequestTarget

我把它装了

add(onload);
onload的代码如下

AjaxEventBehavior event = new AjaxEventBehavior("onload") {
        @Override
        protected void onEvent(final AjaxRequestTarget target) {
            attachJavascriptBehavior(target);
        }
    };
    return event;
attachJavascriptBehavior将一些javascript作为文本添加到目标

我想用WicketTester测试一下

到目前为止,我知道我可以打如下电话:

tester.executeAjaxEvent("some:path", "onclick");
也许同样的情况也适用于超负荷。我发现我可以打电话

tester.assertRenderedPage(MyWebPage.class);
为了测试页面是否在事件之后呈现(事件处理一些内容大小),但即使我在浏览器中的控制台中出现错误,这个测试也会令人惊讶地通过。如何捕获console.log报告的javascript错误

资料来源:


作为一般提示,您可以使用

String responseTxt = tester.getLastResponse().getDocument();

然后,您可以检查返回给客户端的内容。

作为一般提示,您可以使用

String responseTxt = tester.getLastResponse().getDocument();

然后,您可以检查返回给客户端的内容。

作为一般提示,您可以使用

String responseTxt = tester.getLastResponse().getDocument();

然后,您可以检查返回给客户端的内容。

作为一般提示,您可以使用

String responseTxt = tester.getLastResponse().getDocument();


然后,您可以检查返回给客户端的内容。

已测试,未捕获我的错误:tester.assertNoErrorMessage();已测试,未捕获我的错误:tester.assertNoErrorMessage();已测试,未捕获我的错误:tester.assertNoErrorMessage();已测试,未捕获我的错误:tester.assertNoErrorMessage();正确的。您需要将最后一个响应作为字符串处理,因为Ajax调用不会重新绘制整个页面。通常Ajax响应只返回页面部分的新标记。这提供了一些东西,是一种正确的解决方案。我的只是没有在这里提供任何有用的东西,因为当我获取文档时,最后一页的数据位置上有一个等待图标滚动。也许一个计时器等待几秒钟会有帮助,或者我不可能绕过这个测试。添加10秒的超时时间并没有改变任何事情。这样我可以看到ajax从服务器加载的内容、css的ajax事件目标更改以及我无法跟踪的与布局相关的更改。这是最接近的,我接受它,因为没有更接近的猜测。对。您需要将最后一个响应作为字符串处理,因为Ajax调用不会重新绘制整个页面。通常Ajax响应只返回页面部分的新标记。这提供了一些东西,是一种正确的解决方案。我的只是没有在这里提供任何有用的东西,因为当我获取文档时,最后一页的数据位置上有一个等待图标滚动。也许一个计时器等待几秒钟会有帮助,或者我不可能绕过这个测试。添加10秒的超时时间并没有改变任何事情。这样我可以看到ajax从服务器加载的内容、css的ajax事件目标更改以及我无法跟踪的与布局相关的更改。这是最接近的,我接受它,因为没有更接近的猜测。对。您需要将最后一个响应作为字符串处理,因为Ajax调用不会重新绘制整个页面。通常Ajax响应只返回页面部分的新标记。这提供了一些东西,是一种正确的解决方案。我的只是没有在这里提供任何有用的东西,因为当我获取文档时,最后一页的数据位置上有一个等待图标滚动。也许一个计时器等待几秒钟会有帮助,或者我不可能绕过这个测试。添加10秒的超时时间并没有改变任何事情。这样我可以看到ajax从服务器加载的内容、css的ajax事件目标更改以及我无法跟踪的与布局相关的更改。这是最接近的,我接受它,因为没有更接近的猜测。对。您需要将最后一个响应作为字符串处理,因为Ajax调用不会重新绘制整个页面。通常Ajax响应只返回页面部分的新标记。这提供了一些东西,是一种正确的解决方案。我的只是没有在这里提供任何有用的东西,因为当我获取文档时,最后一页的数据位置上有一个等待图标滚动。也许一个计时器等待几秒钟会有帮助,或者我不可能绕过这个测试。添加10秒的超时时间并没有改变任何事情。这样我可以看到ajax从服务器加载的内容、css的ajax事件目标更改以及我无法跟踪的与布局相关的更改。这是最接近的,我接受它,因为没有更接近的猜测。