两者的优缺点是什么,为什么我应该使用它们中的任何一个进行功能测试?
问候,乔纳斯
Selenium 用于集成测试,它将测试您的 Web 应用程序在实际浏览器中的行为。这可以找到 HTTPUnit 无法找到的东西,例如浏览器对 css 和 JavaScript 的兼容性。
HTTPUnit 通过直接调用 Web 服务和操作响应来测试 Web 应用程序。这是一个功能测试框架,因为它测试您的 Web 应用程序的功能,而不是它在不同平台上的行为方式。
HTTPUnit 的一个优点是它比 Selenium 快得多。就我个人而言,我会(并且确实)同时使用两者。HTTPUnit 用于完整的功能测试和 Selenium 用于选择性(不完整)集成测试以检查浏览器兼容性。
HttpUnit 非常简单,非常易于使用,并且只需要很少的时间即可启动和运行。这是开始简单测试的好地方,但是它需要更多的编码来创建复杂的测试。
Selenium 不仅仅是一个库,比如 HttpUnit。它使您能够更好地进行更高级、有状态的测试。
Selenium 将使用您的浏览器来自动化测试 - Selenium http://seleniumhq.org/
httpunit 来自 html 规范并模拟符合标准的浏览器 - httpunit http://httpunit.sourceforge.net/
Selenium 更具体,可以让您使用特定于浏览器的行为,而不是限制被测应用程序。
使用 httpunit,限制是由 httpunit 支持的内容设置的,这远远低于大多数浏览器所做的。例如,javascript 功能被减少到一个非常小的集合。另一方面,如果您的应用程序通过了 httpunit 测试,它可能会在相当多的浏览器和环境中运行。
因此,如果您有兴趣支持最少的通用功能集,httpunit 可能适合您。