最近公司要引入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測試工具,最主要的理由是,簡潔易用,學習成本低。
原文地址:https://www.cnblogs.com/powertoolsteam/p/9772211.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com