转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
最近公司要引入API测试工具,经过调查和了解,最终决定在SoapUI 和 Postman两种工具之间做一个选择,两种工具在业界都很有名,相信很多人两种工具也都曾使用过。
SoapUI
SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。SoapUI Pro是SoapUI的商业非开源版本,实现的功能较开源的SoapUI更多。
Postman
Postman是由Postdot Technologies公司打造的一款功能强大的调试HTTP接口的工具,它最早是Chrome中最受欢迎的插件之一,现已扩展到Mac,Windows和Linux客户端。
软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman分免费版和收费版本。
下面我们对这两个工具通过多种维度进行对比,相信通过这些对比维度综合得出的结果,能对也处在为测试工具选型阶段的你带来一些启发和帮助。
1.搜索指数
通过百度搜索指数可以看出,以近一月的搜索趋势来看,Postman的搜索指数明显高于SoapUI(约5倍),而且整体趋势来看,Postman的搜索趋势仍在增长,说明Postman的知名度高于SoapUI,并且未来仍有潜力。
2.用户介绍
SoapUI
Postman
从官方提供的各自产品用户来看,SoapUI 有更多的知名厂家使用。
3.界面
SoapUI:传统Windows 产品界面,使用弹窗来表示不同界面,界面表现复杂
PostMan:使用Tab 来表现界面,界面简洁易用。
4.功能
测试类型
工具 | 测试类型/接口类型 | |
SoapUI | API测试:Soap协议,http协议 压力测试 安全测试
| Soap报文,XX系统 Win 部分和服务器之间的沟通协议。 http协议:http,https请求 |
PostMan | http协议 压力测试 |
组织方式:SoapUI的组织方式更复杂,也更灵活。
SoapUI:
Postman:
5.接口自动化
SoapUI: SoapUI+UnitTest 实现接口自动化测试 ,也可以和jenkins 集成。
Postman: Postman + Newman + Jenkins 实现接口自动化测试
都支持接口自动化,SoapUI对编码要求更高一些。
6.脚本扩展能力
SoapUI:Groovy脚本,JavaScript(经过测试发现支持的不好,尝试提取前一次请求返回内容时会失败)
Postman:JavaScript
7.自定义变量及变量作用域
工具 | 变量类型 | 作用域 |
SoapUI
| Project、TestSuite、TestCase的Properties以及Custom Properties | 各自以内的范围内 |
TestCase里的Properties | 在整个TestCase内 | |
TestCase里的Data Source、DataGen等 | 在整个TestCase内 | |
Groovy脚本定义,JavaScript | 看定义方式 | |
Postman
| Environment Variable | 当前环境的Collection |
Global Variable | 所有Collections | |
CSV/JSON datafile | Runner当前的Collection |
8.数据源,生成器,进行参数化
工具 | 数据源 | 生成器 | 循环 |
SoapUI | Pro 版本:DataSource,数据可来源于文件、目录、数据库、Excel、Grid等 | Pro版本:DataGen | Pro版本DataSource Loop |
Postman |
| 无(只能通过脚本) | Runner中的Iteration |
9.结果解析,展示
工具 | 结果 | 日志 | 报告 |
SoapUI |
TestSuite-TestCases TestCase-TestSteps | SoapUI全局多种log TestSuite log TestCase log Request log
| Project report TestSuite report TestCase report (HTML/XML/CSV)
|
Postman | Send可查看Request的Response Runner可查看运行的Result
| Postman console Chrome DevTools
| Request的Response以及Runner的Result均可导出json 可以自定义Report |
10.Cookie 管理
SoapUI: 需要通过Groovy 脚本来管理。
Postman: 工具自动管理
11.跟随重定向(Follow Redirects)
SoapUI: 支持在每个API请求上设置。
Postman: 系统Setting中统一设置。
12.环境管理
SoapUI: 不支持。
Postman:支持,可以方便在不同环境进行切换测试。
13.团队协作
SoapUI:本身一个project是一个xml文件,但是可以通过配置变成一系列文件夹,每个Case、每个Suite均是独立的文件,这样可通过svn/git进行团队协作。支持性较好
Postman:有团队协作的功能,需要付费。也可以通过Imort/Export 成文件后通过svn/git进行团队协作,一个Collection 可以到处为一个文件。
14.工具成本
工具 | 工具成本 |
SoapUI | 社区办免费,开源 高级版本收费
|
PostMan | 基本版本免费
|
15.综合评价
SoapUI 相对Postman 多了一个Soap 协议测试。根据公司内API测试的要求,如果有需求就会很有用,但我们公司是不需要这个选项的。
SoapUI 的功能复杂,界面使用多窗口方式实现,交互复杂,学习成本高,对于使用人员有较高要求。
SoapUI进行API 测试时,是通过Java 直接发送API 请求,和Fiddler等抓包工具的配合需要额外配置。
SoapUI 测返回内容对用中、日文支持不好,会出现乱码现象。
SoapUI的API测试,自动测试需要更强的编程技能。
Postman 脱胎于Chorme 的插件,只支持Http 协议的测试。
Postman 的界面采用Tab形式,类似chrome 的操作方式,界面简单,功能设计简洁,工程的组织只有Collection 和folder ,层级,概念简洁,易学,易用,对于项目组的学习成本低。
Postman 的API 测试,自动测试对于编程的要求相对低一些,可以从测试人员中挑选人员进行培训,培训后可以胜任API测试。
16.结论
综合考虑,如果只是进行Http,https 接口测试建议使用Postman 作为API测试工具,最主要的理由是,简洁易用,学习成本低。
了解更多
SpreadJS:纯前端表格控件,可嵌入您系统的在线 Excel
ComponentOne:.NET开发的“瑞士军刀”,功能全面、简单易用的 Visual Studio 组件集
Wijmo:灵活高效的前端开发工具包,可快速搭建企业 Web 应用程序