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解密。
官方网站:https://www.soapui.org/
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服务测试工具。
在过去的几年中,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解密。
官方网站:https://www.soapui.org/
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服务测试工具。
12个强大的Web服务测试工具的更多相关文章
- web压力测试工具(小而精)
实际的测试过程中,我们一般都是采用A.B两台机器,一台跑Web服务,另外一台跑ab测试.也有的情况是单机对单机可能测不出结果,那就要采用很多台机器同是跑AB去请求一台机器进行测试,根据多台机器反馈的结 ...
- burp-suite(Web安全测试工具)教程
Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代 ...
- 最佳的 14 个免费的响应式 Web 设计测试工具
一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...
- Web Service测试工具小汇
1..NET WebService Studio 这款工具出自微软内部,最大的优点是可视化很好,不用去看那些XML文件,WebService的基础内容就有XML,但是测试中Case过多,每次测试结果都 ...
- Web服务评估工具Nikto
Web服务评估工具Nikto Nikto是一款Perl语言编写的Web服务评估工具.该工具主要侧重于发现网站的默认配置和错误配置.它通过扫描的方式,检测服务器.服务和网站的配置文件,从中找出默认配 ...
- 轻量级Web渗透测试工具jSQL
轻量级Web渗透测试工具jSQL jSQL是Kali集成的一款轻量级的Web渗透测试工具.最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具.Kali提供的版本较 ...
- web压力测试工具
ab apache 自带的web压力测试工具,window和linux下均有. 命令行:./ab -c 100 -n 1000 http://www.baidu.com 说明: -c 表示同时处理10 ...
- 推荐一个linux下的web压力测试工具神器webbench
推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29 来源: 评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...
- python的web压力测试工具-pylot安装使用
http://blog.csdn.net/chenggong2dm/article/details/10106517 pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相 ...
随机推荐
- Android简单例子——AlertDialog
最近学习了一段时间的Android,在网上找了些小的Demo,自己模拟这做了下,首先谢谢那些提供例子的朋友 今天主要学习的是简单的Dialog的使用(实现退出对话框)和自定义对话框 1.实现退出对话框 ...
- CI 笔记 easyui 结合后,左侧导航跳转问题
1. 在进行时,还没有做完整个项目时,可能不是最终稿 2. 从数据库中nav表中,读出url地址,然后,从admin中,重写这些url跳转 3. 在admin的控制器中,跳转写的并不完美, publi ...
- iOS与Android通用AES加密
找了很久才成功的aes 加密 服务器java写的 下载地址 https://pan.baidu.com/s/1nvi1zjr
- PHP发送AT指令
需求: 发送短信到用户输入手机, 要求可以自定义信息内容 问题: 没有电信猫, 使用免费api接口无法自定义短信内容 解决方案: 通过4G网卡, 接在服务器上, 通过AT指令操作网卡, 发送短信 查阅 ...
- Java stackoverflow error
本文想记录一下尝试产生stackoverflow的程序 1 -Xss=1k, 设置stack大小1024个字节,产生515个long,想把stack撑爆. 2 嵌套调用 3 创建大量线程 1 -Xss ...
- POJ 1564(HDU 1258 ZOJ 1711) Sum It Up(DFS)
题目链接:http://poj.org/problem?id=1564 题目大意:给定一个整数t,和n个元素组成的集合.求能否用该集合中的元素和表示该整数,如果可以输出所有可行解.1<=n< ...
- jQuery EasyUI 1.4.4 Combobox无法检索中文输入的问题
在项目里使用了EasyUI的Combobox,当ComboBox的item是英文时,都能正常检索出对应项,但是如果使用中文输入法输入几个字母然后通过按shift键输入时,奇怪的事情发生了,combob ...
- 基于jq图片居中插件 [center]
最近在做一个项目,大量的图片基于js进行缩放(图片放大镜),考虑用css要写许多hack,而已经基于jq了,干脆写个方法得了. 代码很简单,不用多讲但是很实用. $.fn.extend({ cente ...
- postgresql 的触发器
今天编写了一个触发器 功能: 有两个表,当一个表的字段有所改动的时候,另一个表跟着改动 CREATE OR REPLACE FUNCTION process_emp_audit() RETURNS T ...
- PHP的类自动加载机制
在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来. 这个在小规模开发的时候,没什么大问题.但在大型的开发项目中, ...