1. 程式人生 > >API測試工具SoapUI & Postman對比分析

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測試工具,最主要的理由是,簡潔易用,學習成本低。