zoukankan      html  css  js  c++  java
  • 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测试工具,最主要的理由是,简洁易用,学习成本低。

  • 相关阅读:
    python小白-day9 数据库操作与Paramiko模块
    python小白-day8 线程、进程、协程
    python小白-day8 socketserver模块
    python小白-day7 socket初识
    python小白-day7 面向对象高级部分
    python小白-day6 xml处理模块
    python小白-day6 ConfigParser模块
    2020软件定义网络实验二
    软件工程实践第一次个人作业
    2020软件定义网络实验一
  • 原文地址:https://www.cnblogs.com/powertoolsteam/p/9772211.html
Copyright © 2011-2022 走看看