【问题标题】:How to test a webapplication?如何测试 Web 应用程序?
【发布时间】:2010-09-21 06:34:59
【问题描述】:
如果我有 java-webapp (servlet),为这个应用程序创建自动化测试的最佳方法是什么?
我应该启动服务器吗?但这是非常脆弱的。我应该直接调用servlet吗?但这怎么能做到呢?我不知道如何创建 ServletResponse/ServletRequest。
测试 webapp 功能的最佳方法是什么?我应该检查生成的 HTML 文本吗?但如果我更改模板(错字),测试就会中断。
您在测试 web 应用方面有哪些最佳实践和经验?
【问题讨论】:
标签:
java
servlets
automated-tests
web-applications
【解决方案1】:
看看Selenium。这是一个非常好的工具,至少应该为您指出集成测试的正确方向。除此之外,使用 JUnit 对 servlet 和其他支持类进行单元测试。
【解决方案2】:
查看Selenium 进行webapp 测试,查看Abbott 进行Java 小程序测试。我们已经设法将两者混合在一起,以便 Selenium 通过 javascript 调用 Abbott 测试。它们都是允许您在查看页面时记录操作,然后自动生成测试代码的工具。记录基本测试后,您可以对其进行修改和调整。您可以用最少的努力获得漂亮的测试。他们会以你的名字命名一种饮料。
【解决方案3】:
同样的问题。在我的 TODO 列表中,我有 jetty 和 httpunit。
此外,如果您使用某种框架(Spring、Struts 等),您通常可以单独测试各个部分,而无需部署整个内容。
【解决方案4】:
我几乎只使用htmlunit,没有任何抱怨。一旦我们建立了一套像样的测试工具方法,测试甚至是复杂的 Web 应用程序都非常容易。它也适用于 javascript。我们甚至在 AJAX 应用程序中使用它也没有问题。