最近公司要引入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中运行时,可加载CSV/JSON文件
|
无(只能通过脚本)
|
Runner中的Iteration
|
9.结果解析,展示
工具
|
结果
|
日志
|
报告
|
SoapUI
|
Project-OverView、TestSuites
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测试工具,最主要的理由是,简洁易用,学习成本低。
(责任编辑:IT) |