我正在尝试为REST API开发自动化测试套件。我被告知Swagger将是用来做这件事的正确工具。 API正在使用Spring Framework开发。
我无法弄清楚如何使用Swagger来做到这一点。 根据我的理解,Swagger用于创建漂亮的API文档。 我看过this Dreamfactory blog post,看起来他们有一些浏览器测试功能,但我不认为它真的是一个测试套件。
我还看了一下ServiceStack(和黄瓜),但由于它的另一个框架,我觉得它不会起作用。
This谷歌小组讨论没有特别指出任何地方。
那么,有没有人知道如何使用Swagger开发RESTful API测试平台?
谢谢!
答案 0 :(得分:13)
正如其他答案所提到的,Swagger提供了一种定义和记录API端点,方法,响应,错误等的方法。 不开箱即用进行任何类型的自动化测试。
有一些工具可以读取一个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规格发生变化,您甚至可以快速重新同步测试逻辑。