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

本文由葡萄城技术团队于博客园原创并首发

转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

最近公司要引入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测试工具,最主要的理由是,简洁易用,学习成本低。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注