天天看点

API测试工具

如今,越来越多的公司正在向devops的方向左转,以实现持续集成和持续部署开发。这意味着我们的反馈需要比以往更快,以便确定我们的应用程序是否准备好交付。这就是api测试如此重要的原因,以及为什么应将其作为整体自动化策略重要的一部分。

分享一下我认为不错的五种api测试工具,无论哪种方式,它们都是不错的选择。

如果您使用的是java,则rest-assured将是实现api自动化的首选。

rest-assured是一个流行的java库,可用于测试基于http的rest服务。它在设计时就考虑到了测试,并且与任何现有的基于java的自动化框架集成在一起。它提供了一个类似于bdd的dsl,从而使用java创建api测试变得简单。它还具有许多内置功能,这意味着不必从头开始编写代码。rest-assured可以和很多测试框架无缝集成,这意味着可以将ui和api测试全部结合在一个框架中,从而生成全面出色的报告。与动态语言(例如ruby和groovy)相比,用java测试和验证rest服务要困难得多。这是使用rest-assured的另一个原因,因为它将java语言中使用这些语言的简便性带给了您。

如果团队主要由java开发人员组成,对api测试来说rest-assured是非常不错的选项。

接口测试不一定要使用与开发人员相同的语言来进行必要的测试工作。如果刚好跟开发语言不通,则需要考虑postman进行一些快速而简单的api测试,而不必担心其他的开销。postman还是探索型api测试的不错选择。但是它也足够强大,可以根据需要创建更多集成的解决方案。

postman是一个易于使用的rest客户端,您可以利用其chrome插件快速入门。mac和windows也都有响应的版本支持。它具有许多rest客户都没有的非常丰富的界面,使其易于使用。它还使您可以轻松地与同事共享知识,因为您可以打包所有请求和期望的响应,然后将其发送给其他人,以便他们也可以查看。

如果您的团队不仅要测试api,而且要有一个工具来帮助自动化还有一些探索性api测试工作,那么postman是一个不错的选择。

soapui已经存在了一段时间。如果您的团队仅进行api测试,并且主要由质量检查工程师(而非开发人员)组成,那么soapui可能是您团队的最佳选择。soapui是专用于api测试的功能齐全的测试工具。api无需从头开始创建解决方案,而是使您能够利用功能齐全的工具严格针对api测试。如果出于某种原因需要创建自定义功能,则可以使用groovy在soapui中编写解决方案的代码。

如果您的团队具有复杂的api测试方案,并且由更多的质量检查/测试工程师组成,重点是不缺钱,那么soapui是首先的工具。

尽管jmeter是为进行负载测试而创建的,但许多人也将其用于功能api功能和自动化测试。jmeter包括帮助您测试api所需的所有功能,以及一些可用来增强api测试工作的额外功能。例如,jmeter可以自动使用csv文件,这使团队可以快速为api测试创建唯一的参数值。它还与jenkins集成,这意味着您可以将api测试包含在持续集成管道中。

如果您打算创建api功能测试,并且还要在性能测试中加以利用,jmeter无疑是最佳的测试解决方案。

fiddler是一个工具,经常用来抓包,它还可以捕获、操纵和重发http请求。fiddler可以做很多事情来调试网站问题,并且通过它的众多扩展之一,您可以完成更多工作。其中之一-apitest扩展-极大地增强了fiddler以验证web api的行为。(验证者提供了一种轻量级的方法来判断测试的成功或失败)

对于更多的核心api测试开发,您可以使用fiddlercore.net类库来构建其api测试基础结构。对于使用.net语言的团队来说,这是一个不错的选择,因为您可以使用所需的任何.net语言来开发测试。

没有完美的工具。每个小组有不同的要求。实际上,所有api测试工具都可以很好地工作,并且是不错的选择,具体取决于团队的需求以及团队的人员配置,不选最好,选最合适的那个工具。