關鍵詞:SoapUI接口測試,接口自動化測試,數據驅動測試,SoapUI進階使用, Groovy in SoapUI, SoapUI中Groovy的使用,數據分離。html
閱讀這篇文章須要必定的SoapUI基礎,至少入過門,另外還須要一些Groovy的知識,固然若是你會java 也能夠,這裏用到的Groovy知識和Java很相似。java
另外,本文的思路和我上一篇文章<零成本實現接口自動化測試 – Java+TestNG 測試Restful service>很類似,只不過把Java+TestNG的組合換成了SoapUI+Groovy, 另外測試對象也換成了基於Soap的web service, 依舊用Excel來管理數據,作到數據分離。web
因爲我用到的SoapUI是免費版本,相比Pro版,少不少的功能,像DataLoop之類的,因此只能經過Groovy寫一些腳原本作數據驅動的測試。數組
首先打開SoapUI, 新建一個Workspace 名爲Demooop
而後點擊File->New soapUI Project測試
而後輸入你的Project Name, WSDL 地址 點擊OKui
輸入服務的用戶名密碼 點擊OKspa
項目工程建好了3d
右擊ServicePort 創建TestSuitecode
以其中一個接口爲例 來生成用例
輸入TestSuite name 而後確認
工程結構以下
經過右擊TestCase -> Add Step 增長 Groovy Script 和 Properties
增長四個Groovy Script, 而且命名成 Start, Process, Check Response, End
增長5個 Properties, 而且命名成Input, Baseline, Output, Result, fieldResult
調整它們的順序,最後造成下圖的工程目錄結構
Start腳本主要建立log文件
Process腳本是整個工程的核心,讀取Excel數據文件的Input, Baseline 放入二維數組,而後循環讀入Input和Baseline這兩個Properties, 調用request, 取到Ouput和Result Properties的值放入Output, Result數組,最後更新Excel的Output, Result, Comparison sheet。
Check Response 顧名思義,用來檢查返回結果, 經過XmlHolder getNodeValue 來取response各節點的值,而且填入Output Properties已做對比之用。
End腳本 在log上打時間戳
配置
雙擊DemoProject, 點擊下方的Properties tab
而後 Add property
Add 以下圖所示的5個Property
雙擊項目工程列表裏的'Demo TestCase'
點擊Properties tab
Add Property 如圖
Value 填Excel 的路徑
Excel數據工做簿裏的Input sheet 如圖
接下來須要把Input裏的column name 與 Soap request裏的input 字段映射起來
雙擊Test Steps 裏的request
將xml文件裏的?用參數來代替
左下角的TestRequest Properties 要填上用戶名 密碼
Baseline sheet裏要把輸出結果的字段名都定義好, 由於是根據字段名去response裏取結果的
每條用例指望結果都寫好,用做和實際結果對比
另外Check Response裏的腳本須要設置一下
假設你的response xml文件結構以下
若是你須要檢查Soap body標籤下的內容, 則你須要配置一下Check Response的腳本
將xml namespace的路徑配置一下
右擊Project Save一下Project
最後能夠運行了 雙擊Demo TestSuite 點擊Run
打開Workbook 數據工做簿查看結果
Output
Result
Comparison
是否是跟我上一篇文章殊途同歸?
注:轉載需註明出處及做者名,嚴禁惡意轉載,尊重原做者的勞動成果