我可以获得当前Wicket页面的来源吗?

时间:2011-07-04 17:51:35

标签: wicket wicket-tester

我一直在使用wicketTester.getServetResponse.getDocument获取当前页面的文本进行测试,但发现在ajax请求之后它被设置为ajax响应,而不是整个页面。

有没有办法获得整个渲染页面的表示,因为浏览器会在ajax操作后看到它?

3 个答案:

答案 0 :(得分:2)

使用WicketTester,您可以模拟Ajax调用,并看到您的应用程序发送了正确的Ajax响应。但它并没有真正运用ajax。

所以我不相信有办法从WicketTester那里得到它。

如果您确实需要一直测试应用程序到UI,包括渲染上的Ajax / javascript效果,您可能需要使用类似Selenium的内容进行测试。

答案 1 :(得分:1)

以Wicket的方式思考我希望以下方法可行:

  1. #startPage(YourPage.class)
  2. 做一些Ajax调用
  3. #startPage(wicketTester.getLastRenderedPage())
  4. wicketTester.getLastRenderedPageAsString()
  5. 这个想法是:你启动一个页面进行测试,第一个响应是完成页面响应,然后你做一些Ajax调用,改变一些模型,然后你开始最后一个渲染页面作为一个实例 - 这样它将呈现包含来自Ajax调用的更新模型的页面。

答案 2 :(得分:1)

麻烦的是你可以在响应Ajax调用中放置任何Javascript。但是如果你不想处理它,你可以保存原始的整页DOM,遍历Ajax响应中的对象,在完整的DOM中通过id找到它们并用新版本替换它们。

这是多么有用,我不知道,我的猜测不会很好。所以我也可能会选择Selenium。