4

我需要以 REST 格式测试 Web API 函数。目前使用 Selenium RC 对网站进行功能测试。并使用XmlUnitHttpClient功能测试我们的 REST API。但是,如果我们真的能够将我们的功能测试代码分离到所有的 selenium 中,似乎生活会更轻松。特别是使用 Selenium 2.0 的 WebDriver,使用XPath.

我在 ProXmlUnit+HttpClient阵营的想法:

  • 允许使用直接数据库调用或 Spring bean 轻松进行测试
  • 当/如果我们将来支持它时,更容易测试 JSON 响应
  • selenium 用于 Web UI,而不是 REST API 测试

我在Pro Selenium WebDriver营地的想法:

  • 将功能测试全部分离为标准硒测试
  • 使用我们的其他 selenium UI 测试轻松测试结果,进一步测试 UI
  • 允许核心开发人员以外的其他人审查功能性 API 测试
  • 也许更容易使用像 BrowserMob 这样使用硒测试的服务来加载测试 API?
  • 希望使用 selenium 框架进行更快的功能测试

我们正在使用 Spring 3 和休眠。什么最适合对我们的 API 进行功能测试?

4

3 回答 3

6

另一种选择可能是使用REST Assured,这是一种用于测试 REST 服务的 Java DSL。它允许您使用 XML 和 JSON 的少量样板代码编写单元样式测试。此外,它还提供更多高级功能,如身份验证、XSD/DTD 验证、响应代码、cookie 等。更多信息可在其使用页面上找到

免责声明:REST Assured 是一个由我的同事发起的开源项目。

于 2011-06-04T19:54:18.547 回答
2

如果您想对其余 API 进行真正的功能测试,那么我可以推荐使用这款夹具的 Fitnesse:https ://github.com/smartrics/RestFixture

硒对于这种事情来说只是一个糟糕的选择。

至于性能测试,您可以在几分钟内完成 Jmeter 中的其余 API 测试,无需支付第三方费用。

于 2010-12-08T17:36:44.643 回答
-1

测试 API 听起来不像功能测试,而更像是单元测试。所以我会选择 XmlUnit+HttpClient

于 2010-12-07T22:09:53.703 回答