带有Swagger的RESTful API Testbed

时间:2015-06-22 21:15:59

标签: api rest testing automated-tests swagger

我正在尝试为REST API开发自动化测试套件。我被告知Swagger将是用来做这件事的正确工具。 API正在使用Spring Framework开发。

我无法弄清楚如何使用Swagger来做到这一点。 根据我的理解,Swagger用于创建漂亮的API文档。 我看过this Dreamfactory blog post,看起来他们有一些浏览器测试功能,但我不认为它真的是一个测试套件。

我还看了一下ServiceStack(和黄瓜),但由于它的另一个框架,我觉得它不会起作用。

This谷歌小组讨论没有特别指出任何地方。

那么,有没有人知道如何使用Swagger开发RESTful API测试平台?

谢谢!

5 个答案:

答案 0 :(得分:13)

正如其他答案所提到的,Swagger提供了一种定义和记录API端点,方法,响应,错误等的方法。 开箱即用进行任何类型的自动化测试。

有一些工具可以读取一个Swagger定义来创建自动化测试,但是:

  • Assertible是一个工具,您可以在其中导入Swagger规范,以自动为每个端点和方法创建测试和断言。然后,您可以设置监控,部署后测试和警报。 (阅读博客Testing an API using Swagger)。它有一个免费的计划,可以升级以进行更多测试。
  • swagger-test是一个NPM包,如果您正在寻找与您的代码集成的内容。我个人并没有使用它,但看起来确实很有用。
  • Dredd是另一个非常酷的开源工具,可以根据实时后端自动测试您的Swagger规范。这也是一个CLI,它适用于API Blueprint in addition to Swagger

还有其他人,因为Swagger为API开发人员提供了一个很好的通用语言,并且有一些很棒的工具可以写在它上面。

另一个答案是检查swagger.io上的Commercial Tools页面,其中包含更多托管服务(免费和付费)。

完全披露 - 我是Assertible的联合创始人之一,如果您有机会使用它,我很乐意听取您的意见。

答案 1 :(得分:7)

Swagger会让你很好地记录你的API,并且会帮助你用swagger-ui进行手动,现场测试,因为你可以轻松填写​​参数并通过web ui查看回复。尝试使用Swagger演示作为我所指的示例。 http://petstore.swagger.io/

我没有尝试过这个,但这对于针对Swagger定义的更自动化测试可能很有用。 https://github.com/Maks3w/SwaggerAssertions

答案 2 :(得分:1)

您可以在http://swagger.io/commercial-tools/上使用Swagger规范找到许多用于(自动)测试REST API的软件。但他们不是免费的。

答案 3 :(得分:0)

Postman是使用Swagger apis进行测试的绝佳工具。它还可以存储请求和响应。更多细节如下 https://www.getpostman.com/docs/importing_swagger

您可能还希望根据此页面上的语言查看社区工具。 http://swagger.io/open-source-integrations/

答案 4 :(得分:0)

我已经写了article,说明如何使用Swagger或OpenAPI规范生成所有测试逻辑。然后通过Excel工作表输入测试数据。这样,您的测试数据和测试逻辑将保持分离,并且将来如果您的Swagger规格发生变化,您甚至可以快速重新同步测试逻辑。