首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

SoapUI 從入門到實戰:項目創建、單接口測試、測試套件組織、數據傳遞與斷言完整教程

     編輯:Java 綜合教學

工具簡介

SoapUI 是功能最全的開源 API 測試工具,支持 SOAP/REST、數據驅動、CI/CD 集成、Groovy 腳本擴展。本文以 **SOAP 服務**為例,演示完整測試流程。

1. 創建 SOAP 項目

  1. 菜單 File → New SOAP Project。
  2. 輸入 Project Name,Initial WSDL 填入 WSDL URL(如 https://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl)。
  3. 勾選 Create Requests、Create TestSuite、Create MockService(可選)。
  4. 點擊 OK,左側導航樹生成服務結構。

2. 單接口請求測試

  1. 展開服務 → Binding → 某 Operation → 雙擊 Request 1。
  2. 編輯 XML 請求體,將 ? 替換為實際參數值。
  3. 點擊綠色三角形 Submit,查看右側 Response 原始 XML/JSON。
  4. 點擊 Outline / XML 標籤切換視圖。

3. 構建測試套件

  1. 右鍵 Project → New TestSuite,命名(如 ChinaTV-TestSuite)。
  2. 在服務樹中右鍵某 Request → Add to TestCase → 選擇目標 TestSuite → 新建/選擇 TestCase(如 GetTVProgram)。
  3. 重複添加多個 Request 為不同 TestCase,或同一 TestCase 多個 TestStep。

4. 添加斷言

  1. 打開 TestCase 下的 TestStep (Request)。
  2. 底部 Assertions 面板 → + → 選擇類型:
  • Contains:響應包含指定字符串(如「中央電視」)
  • XPath Match:按 XPath 提取節點值斷言
  • Schema Compliance:驗證響應符合 WSDL Schema
  • Valid HTTP Status:狀態碼 200
  • Script Assertion:Groovy 腳本複雜邏輯斷言

配置後綠色勾表示通過,紅叉失敗。

5. 組織測試流程與數據傳遞

調整步驟順序

TestCase 內拖拽 TestStep 上下移動,或右鍵 Move Up/Down。

Property Transfer(屬性傳遞)—— 核心:上一步輸出 → 下一步輸入

  1. 在兩個 TestStep 之間右鍵 → Add Step → Property Transfer。
  2. 配置 Source(來源):選擇上一步 TestStep、Property = Response、Path = XPath 表達式(如 //ns1:GetTVProgramResult/text())。
  3. 配置 Target(目標):選擇下一步 TestStep、Property = Request、Path = 請求 XML 中對應參數節點 XPath。
  4. 點擊 Transfer 測試,綠色表示提取/注入成功。

XPath 技巧:使用 Declare Namespaces 管理命名空間前綴,避免 ns1: 變動導致失效。

6. 運行測試套件

  1. 雙擊 TestCase → 運行按鈕,或右鍵 TestSuite → Run。
  2. 查看 TestCase Log:每步耗時、斷言結果、原始請求/響應。
  3. 全綠 = 全通過。

7. 進階功能速覽

功能入口/用法
數據驅動TestCase → 右鍵 DataSource (Excel/CSV/Grid) → DataSource Loop
Groovy 腳本TestStep 選 Groovy Script,可操作上下文、邏輯控制、報告定制
Mock Service右鍵 Project → New MockService,模擬服務端行為
負載測試右鍵 TestCase → New LoadTest,配置策略(Simple/Thread/Burst)
CI/CD 集成命令行 testrunner.sh -s "Suite" -c "Case" -r -j -f /path/to/project.xml 生成 JUnit XML
REST 測試New REST Project,導入 Swagger/OpenAPI 定義,自動生成請求

避坑指南

  • 命名空間導致 XPath 失效:必須在 Property Transfer / XPath Match 中聲明命名空間映射。
  • 大文件響應導致 OOM:設置 -Xmx2g 或使用 Streaming 模式。
  • 項目文件過大:定期清理 TestCase Logs、MockService Logs,或拆分項目。
  • SSL 證書錯誤:導入信任憑證至 Java cacerts,或在 VM 參數 -Dsoapui.https.trustall=true(僅測試環境)。

總結

SoapUI 以「可視化配置 + 強大斷言 + 數據驅動 + 腳本擴展」覆蓋了 API 測試全生命周期。掌握「項目創建 → 單步調試 → 測試套件組織 → Property Transfer 數據鏈 → 批量運行 → CI 集成」主流程,即可勝任企業級接口測試工作。建議配合 Postman(輕量調試)與 JMeter(性能測試)組成「三劍客」工具鏈。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved