API测试工具现在越来越重要,今天我们推荐几款你应该知道的前20个测试工具。
随着我们朝着更敏捷的左移软件开发流程(如持续集成和交付)迈进,快速向开发人员提供测试反馈的需求正在增加。
UI测试太耗时,这对于开发人员来了解系统缺陷来说时间太久, API测试速度快,可靠性也高。
什么是API测试
应用程序接口测试(API)是一个充当软件组件接口的规范。
大部分的功能测试都涉及到测试一个用户接口。API测试包含绕过用户界面,直接去调用应用的API来测试。
API测试允许你去测试无头技术就像JMS http,数据库,webservice
API测试之所以被称为无头就是因为绕过了UI,直接传送请求给应用的后端,然后验证接受到的响应来确保应用符合预期。
top 20 API Testing Tool
1. Postman
Postman是一个Rest 客户端,开始的时候是作为Chrome浏览器的一个插件,现在已经是MAC 和Windows操作系统上的一个应用工具。
你可以使用它去向web 服务器发送一个post请求,然后接收到响应,你可以设置header,cookies,还可以校验响应
- 同时应用于自动化和探索性测试
- 运行在windows mac linux 和chrom app上
- 集成了很多格式,如swagger raml格式
- 可以运行,测试,记录,监视
- 不需要学习新的语言
Karate DSL
Karate允许我们去创建一个测试, 用于对二年和web service类型进行排序, 然后对响应进行断言(Assert)
- 创建在Cucumber-JVM上
- 运行测试,并生成报告
- 不懂java也能写测试
- 非程序员也能写测试
想了解更多使用, 查看Karate with BDD.
SoupUI
SoapUI是一个来自于SmartBear 软件的无头式的功能测试工具
SmartBear software 不懂
它来自于两种形式:免费开源和Pro版本。由于免费版本是开源的,你可以看到所有的源代码并更新。
SoapUI Pro版本是一个界面友好,而且额外添加了功能:表单编辑器,Xpath断言向导,SQL请求生成器。
- 使用Groovy创建代码
- 拖放测试创建 (不懂)
- 创建复杂的场景
- 异步测试
- mock service让你在部署服务组前进行模仿
HttpMaster Express
HttpMaster 描述自己是一个页面开发和自动化测试网站于服务器的测试工具。它可以用于测试rest请求和ApI应用。允许你去监视API响应
- HttpMaster提供了全局选项来自定义你的API请求
- 参数化功能能够让你包含动态的数据在你的请求中
- 请求链中包含多个请求项, 使得请求的数据进行交互使用。
Rest- Assured
Rest-Assured是一个开源的Java Domain-specific language(DSL),这使得测试REST服务更简单。无锡使用样板代码来测试和验证复杂的响应,简化了工作。
支持XML和JSON格式的请求和响应。这可能是最好的测试rest API的工具。
- 无需创建样板代码
- 支持BDD 的 given\when\then
- 与java项目无缝衔接
- 可能是编程式创建测试脚本的标准
如果你使用java,然后想测试rest API,你可以在你的框架中使用它,将会是一个不错的选择
RestSharp
RestSharp是一个用于.NET简单的rest和http API客户端
- 支持.NET3.5以上,SilverLight5. windows phone 8,mono, monoTouch monoAndroid,
- shiyong Nuget很容易创建
- 支持 GET, POST, PUT, PATCH, HEAD, OPTIONS, DELETE
Rest Console
Rest Console是一个Http请求可视化和构造工具。帮助开发人员进行build, debug,测试API
- 轻松查询参数创建
- 语法高亮显示
- 认证支持:Plain Basic,Oauth + Custom(不懂)
RoboHydra Server
RoboHydra是一个针对基于http请求的客户端的测试工具。不需要将测试下的客户端连接到真实的服务端,你可以将他们连接到RoboHydra,使得RoboHydra来响应你的请求。
- 测试各种各样的客户端
- 使用JS写,在Node下运行(不懂)
Hippie-Swagger
Hippie-Swagger 是一个测试RESTFUL API的工具,它也是一个伴有自动swagger 断言的工具。除了验证API行为以外,它还能验证文档是否草率,或者不准确, 也会测试失败
-验证所有的swagger文件:参数,请求体,路径等
- 准确,易读的断言信息
WebInject
WebInject是一个开源的自动化工具,用于web应用和web服务。可以被用于测试独立的系统组件(包含http交互:JSP,ASP,CGI,PHP,AJAX,Servlets,HTML Forms,XML/SOAP web service,REST等等)
-一个命令行工具
- 支持perl语言,可以装在Windows, linux BSD,Solaris,MAC OS
Pyresttest
Pyresttest 是一个基于python的rest 测试和API 微基准API测试工具
- 你可以在YAML 或者JSON配置文件中写测试,不需要代码
- 失败时返回退出代码
- 仅仅在Mac 和Linux上工作
Airborne
Airborne是一个开源的基于ruby RSpec驱动API测试框架
-用于Rack 应用想Sinatra和Grape
- 用于写在Rails上的API
Unirest
被Unmesh Gundecha Unirest推荐,是一个轻量级的HTTP请求客户端
- 可以嵌入到xUnit,BDD runner
Mockbin
Mockbin可以让你生成自定义端点来测试在lib,sockets 和API中 模拟和追踪HTTP请求和响应
- 自定义端点
- 创建自动逸的http方法
- 记录并检查到自定义端点的呼叫
Citrus Framework
Citrus Framework很少有人了解,他是一个开源的框架,帮助你自动化 消息协议或数据格式
的集成测试,很好的测试结果报告
API Integration Automation Testing With Citrus Framework.
ZeroCode
ZeroCode是一个免费的开源的轻量级api测试工具/library,建在junit core runner,对于api端口,使用简单的json步骤。我仅仅听说过这个工具,但是已经被很多公司使用。
- 建在Junit core runner之上
- 仅仅有IDE或者json编辑器就可以运行
- 测试就像postman一样
- 你可以做行为驱动的测试,但是无需语法开销
- 性能测试
- 高效的报告–您可以进行模糊搜索以及按任何文本进行过滤,并按作者进行跟踪
Katalon Studio
虽然最初被知道时以一个GUI的自动化测试工具,也支持测试脚本用于api测试
- 不开源,但是免费
- 完整的包和框架,很容易上手
- 具有允许您测试Web服务和REST API的功能
网友评论