SoapUI是什么
soapui是一款開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/安全性測試。
這款工具既可作為一個單獨的測試軟件使用,也可以利用插件集成到Eclipse,maven2.X,NetBeans和intellij中使用。
soapui分為soapui pro(商業版)和soapui open source(開源版),soapui pro包括一切soapui的功能並增加了很多易用性功能。由於soapui是基於Java的,它可以在大多數操作系統上運行,包括Windows,Linux和Mac。
主要特點
1)開源工具,功能強大、界面簡單
2)支持多種測試,如:功能測試、特負載測試、回歸測試等
3)支持基於SOAP的Web服務,還支持REST風格的Web服務
SoapUI基礎知識
測試用例層級

-
測試集(TestSuite):同一邏輯功能模塊測試場景的集合,可以創建任意數量的測試集
-
測試用例(TestCase):測試服務的某個特定功能,可以組合不同的測試步驟完成該功能流程
-
測試步驟(TestStep):最小的單位。用來控制、執行測試步驟和驗證被測試服務返回。屬於SoapUl的核心部分,靈活使用測試步驟,可以提高測試效率和節省腳本維護成本。
測試框架

SoapUI操作技巧
斷言操作

屬性操作
SoapUI支持使用自定義屬性(Property)在項目中存儲和共享數據。Property可以被 Groovy Script,Property Transfer 或者Property-Expansion引用,目前所有的屬性均被處理為字符串。
SoapUl允許在項目的各個層次中定義屬性,常用的層次包括:Project,TestSuite,TestCase等。
-
Project級別的屬性適用於整個項目,使用語法${#Project#var_args}
-
TestSuite級別的屬性適用於整個測試集,使用語法${#TestSuite#var_args}
-
TestCase級別的屬性適用於整個測試用例,使用語法${#TestCase#var_args}
-
Property級別的屬性適用於測試步驟,使用語法${Properties#var_args}
備注:Property級別的語法有些特別,Properties是測試步驟的名稱,可以修改



數據庫操作
TestStep中有個JDBC Request,可以連接數據庫進行操作。
第一步:手動添加驅動程序,不同的數據庫,驅動程序不一樣,例如:
ORACLE ojdbc14.jar
MYSQL mysql-connector-java-5.1.7-bin.jar
POSTGRESQL postgresql-9.3-1103.jdbc4.jar
驅動要自己下載:https://jdbc.postgresql.org/download.html
下載對應的驅動程序放置在soapUI安裝目錄bin/ext文件夾下:C:\Program Files\SmartBear\SoapUl-5.4.0\bin\ext,重啟SoapUl。
第二步:配置對應的數據庫連接。
比如:postgresql數據庫配置如下:
Driver:org.postgresql.Driver Connection String:jdbc:postgresql://192.168.1.193:5432/database?user=root&password=123456
其他數據的Driver和Connection String需要相應修改一下。
如MySQL:
Driver=com.mysql.jdbc.Driver Connection String=jdbc:mysql://
[host]:[port]/[database]?
[property][=value]

Groovy Script
Groovy是一種基於JVM(java虛擬機)的敏捷開發語言,能與java很好的結合,而且可以使用java編寫的代碼庫。
◆集成所有已經存在的Java對象和類庫
◆不需要類型說明
常見使用方法介紹:
①設置或讀取環境屬性
② Script Assertion
③解析響應文本
④TestStep流程控制
SoapUI與其他接口測試工具有什么不同
如postman、jmeter、fiddler

SoapUI可以做什么
單接口測試
MOCK測試
-
創建項目,按照報文約定組裝請求報文,發送請求報文獲得響應報文

-
創建mock service

-
按測試要求修改前面獲得的響應報文,然后將相應報文



-
設置IP地址

-
啟動mock service


- 在瀏覽器驗證mock service是否正常
在瀏覽器直接訪問,如果沒有提示無法訪問,如展示空白或者如下,代表服務沒有問題
瀏覽器訪問的地址如下:http://192.168.137.41:8099//mockRSDAServicesSoapBinding,觀察設置IP地址的步驟,可以知道這個地址是怎么來的。

- 修改服務器配置報文
需要登陸到服務器,修改配置。
就是把原來服務器返回的響應,修改為從自己本地mock service返回相應。

1、確保模擬服務端已啟動並可用,根據功能部署文檔指引把模擬服務端url配置到功能服務的配置文件,啟動功能服務,運行終端軟件,即可驗證接口異常效果。
2、切換接口異常情況修改報文后,需要重啟模擬服務端,修改的報文才能生效。
- 最后在客戶端操作,觀察測試結果是否符合預期
Mock原理說明

