12个强大的Web服务测试工具
在过去的几年中,Web 服务或 API 的普及和使用有所增加。 web 服务或 API 是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理。基本上有两种类型的 web 服务——基于互联网协议,REST 和 SOAP 推动数据和信息的通讯。
由于这些 web 服务暴露于网络并且分布于不同的网络,所以它们很容易受到风险和安全威胁,从而影响基于它们的进程。因此,web 服务或 API 测试非常有必要,可以确保它们执行正确并正确地响应查询。
市场上有不少商业和开源的测试工具可用于测试它们的连通性,响应性和性能。这些测试工具自动地为特定场景如功能测试,负荷测试,性能测试等执行测试。以下工具不按任何特定顺序排列。
以下就是你必须为你的 API 或 Web 服务测试需求考虑的 12 个伟大的 web 服务测试工具:
1. SoapUI
SoapUI 是一个开源的,跨平台的测试工具。它可以自动操作功能、回归、合规以及 SOAP 和 REST web 服务的负载测试。它配备了一个易于使用的图形界面,并支持行业领先的技术和标准,以模拟和鼓励 web 服务的行为。
主要特征
- 以一种 Project、TestSuite、TestCase 或 LoadTest 水平提供可打印,可导出,和基于 HTML 的报告。
- 自带集成 Hudson、Bamboo、Maven、ANT 和 JUnit。
- 允许开发自己的一套功能作为 SoapUI 插件。
- 记录、监视和显示所有数据。
- 支持 WS-Security 和 SSL 解密。
2. TestingWhiz
TestingWhiz 是一种无编码测试自动化工具,自带 API / web 服务测试能力。它可以让你执行功能、回归、合规,以及基于 HTTP 和 FTP 通过 WSDL 接口的 REST 和 SOAP web 服务的负载测试和模拟。它也允许我们进行拒绝服务和渗透检查,以确保 web 服务的整体健康。此外,它还可以让你执行从端到端的测试,从 Web UI,业务逻辑,到数据库和 ETL,而无需编码。
- 支持字符串比较来验证 API 响应。
- 通过集成的 bug 跟踪工具,如 JIRA,Mantis 和 FogBugz 来帮助记录 API 缺陷。
- 用一个收发邮件设施生成可视化的日志和测试执行报告。
- 允许跨越多台机器和节点的分布式并行执行。
- 用 Jenkins、Bamboo & Hudson 提供持续集成。
- 支持数据驱动和关键字驱动测试。
官方网站:http://www.testing-whiz.com/
3. SOAPSonar
SOAPSonar 为 HTML、XML、SOAP、REST 和 JSON 提供了全面的 web 服务测试。它通过对 OASIS 和 W3C 标准的开箱即用提供了功能、性能、合规性、互操作性和安全测试。
- 用 XSD-mutation 支持漏洞测试。
- 提供全面的 WSDL 和 Schema 解析。
- 用行为建模和多路同时负载事务来执行负载测试。
- 提供 XML,DOC,XLS,PDF,RTF 和 RPT 格式的报告。
- 与 HP 质量中心集成。
官方网站:http://www.crosschecknet.com/products/soapsonar.php
4. SOAtest
SOAtest 是利用 Parasoft 测试验证 API 和 API 驱动应用程序的一个企业级工具。它对功能单元,集成,安全性,仿真,模拟,合规以及技术,如 REST、JSON、MQ、JMS、TIBCO、HTTP 和 XML 的负载测试提供了强健的支持。
- 提供端到端的测试。
- 支持 120+ 协议/消息类型。
- 自带一个易于使用的界面。
- 帮助创建复杂,可扩展和可重用的测试,而无需编码。
- 支持连续集成测试。
官方网站:https://www.parasoft.com/product/soatest/
5. TestMaker
TestMaker 是一个开源工具,通过 PushToTest 来测试和监测 web,web 服务和 SOA 应用程序的性能。它运行在 Jython(用 Java 编写的 Python)上。TestMaker 可以重用 Selenium 测试,SoapUI 测试,Sahi 公司测试或任何用 Groovy,Java,Python,PHP,Ruby 和 Perl 写的测试到功能,负载和性能测试中。
- 对于功能、负载和性能测试使用命令行提示。
- 用标准的多窗口 IDE 提供一种直观的外观和感受。
- 提供一个监测仪表板来运行测试,并显示实时结果。
- 归功于 Jython 语言,因此允许访问所有的 Java 库和类。
官方网站:http://www.pushtotest.com/testmaker-open-source-testing
6. Postman
Postman 是另一个 API / web 服务测试工具,它自带功能强大的 HTTP 客户端支持。它有一个易于使用的请求构建器,允许你编写测试用例和管理响应数据和响应时间,以便于 API 测试用例的高效测试和管理。
- 允许在一个叫 Postman Collections 的功能中收集和组织 API。
- 促进协作和 API 数据以及团队控制的共享。
- 自带粘贴文本的功能,用于在命令行窗口创建无障碍测试。
- 允许在 Postman 界面内编写 Boolean 测试。
官方网站:https://www.getpostman.com/
7. vRest
vRest 是一个专门用于测试,模拟,以及 REST API 和 Web 服务验证的工具。它还支持与第三方 API 或 HTTP 服务交互的 web,移动和桌面应用程序的测试。
- 自带一个模拟服务器功能,可用于在几分钟内创建 API 模拟。
- 提供了一个 Chrome 扩展来录制和播放测试案例。
- 支持与用于服务器整合的 Jenkins 整合,以及与用于 bug 跟踪的 Jira 整合。
- 有利于角色和权限管理。
- 允许导出和引入测试用例和来自于外部工具,如 Postman Collections、Swagger 2 等的报告。
官方网站:https://vrest.io/
8. HttpMaster
HttpMaster 是另一个用于 REST web 服务测试的专用工具。它可以帮助测试人员测试 REST API 的行为,并验证以如 XML、JSON 和 HTML 格式输出的数据。凭借其通用的 HTTP 工具,HttpMaster 也可以帮助开发人员模拟客户活动和 API 应用程序的响应行为。
- 自带一个易于使用和优雅的用户界面,不需要高级技术技能。
- 使用如 GET,POST,DELETE 等的 HTTP 方法。
- 提供不同的验证类型和表达式来缓解测试。
- 对测试创建和执行使用命令行界面。
- 允许存储所有信息——API 调用和项目数据到一个独立的空间。
官方网站:http://www.httpmaster.net/
9. Runscope
Runscope 是一个简单的工具,用来测试和监控 API 的性能。它可以帮助你验证是 web 服务还是 API 返回了正确的数据,同时当 API 出问题时给出提示。Runscope 还支持 API 和移动 app 的后端服务测试。
- 允许用动态数据为甚至更复杂的情况创建测试。
- 显示视觉效果丰富的指标和分析来发现问题。
- 集成如 HipChat,Webhooks,Slack 和 PagerDuty 的工具,以便于当 API 坏掉时发出通知。
- 允许重用和执行跨多个地点的测试。
- 方便在中心管理测试促进更好的团队协作。
官方网站:https://www.runscope.com/
10. Rapise
Rapise 是一个健壮的自动化工具,有着强大和可扩展的功能。它基于一个开放和灵活的用于 REST / SOAP 网络服务的快速功能测试的体系结构。 Rapise 还提供对 web 应用程序的支持,web 应用程序用用 Java,.NET,AJAX,Silverlight 和 Flash 内置。
- 使用 HTTP 标准方法,如 POST,GET,PUT 和 DELETE。
- 允许存储针对特定网络服务的原型请求。
- 包含内置 REST 定义的生成器和对象库。
- 自带强大的集成报告功能。
- 支持跨浏览器测试和并行执行。
官方网站:https://www.inflectra.com/Rapise/
11. WebInject
WebInject 是一款用于自动化功能,验收和回归 web 和 web 服务测试的免费工具。它是一个命令行工具,基于 Perl,简化了测试的执行,因为它不需要在命令提示符上花时间。此外,它没有类似用户接口的 IDE,这意味着,测试是在 WebInject UI 之外写入的。它可以在有 Perl 解释器的平台上运行。
- 提供实时结果显示。
- 监视系统响应时间。
- 支持不同的用处——作为一个完整的测试框架,或作为一个独立的测试运行器。
- 生成 HTML 和 XML 格式的报告。
- 允许与其他系统集成,作为外部监督的插件。
官方网站:http://www.webinject.org/
12. Storm
最后,Storm 是另一个 CodePlex 的开源工具,用来测试用 Java 或 .NET 编写的 web 服务。目前,它仅支持 SOAP web 服务。
- 允许测试来自于独立 UI 的多个 web 服务。
- 帮助编辑原始的 SOAP 请求。
- 允许调用包含复杂数据类型的 web 服务方法。
- 支持 WCF app 的测试。
官方网站:http://storm.codeplex.com/
当然,可用来测试 web 服务的工具还有很多。欢迎分享你认为好的 web 服务测试工具。