当前位置: > 其它学习 >

API测试工具SoapUI & Postman对比分析

时间:2018-11-01 11:41来源:linux.it.net.cn 作者:IT

最近公司要引入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)
------分隔线----------------------------