1. 程式人生 > >【備忘】使用SoapUI和Excel建立一個介面自動化測試的基本步驟

【備忘】使用SoapUI和Excel建立一個介面自動化測試的基本步驟

Web Service+Excel介面測試框架:
SoapUI完成請求+處理判斷
Excel記錄結果+引數
實現資料分離和驅動

////////////////////////////////////////////////////////////
步驟如下:
1.建立一個Soap Project
2.Add WSDL
3.Generate TestSuite
4.先將資料寫死,把介面先調通
5.在外部建立xls檔案(注意不支援xlsx格式)
6.建立資料來源,用Excel型別來取資料(注意不要誤選為File型別)
7.在本示例中,Excel中包含四個欄位:要傳送的引數、預期結果、實際結果和是否通過。資料來源取要傳送的引數用於傳參、取預期結果用於之後的判斷
8.建立Properties,並在其中建立property,用於儲存從響應中獲取的實際結果
9.建立Property Transfer,在其中先建立一個變數,從Test Request的response中取出對應的資料,存到該變數中,再傳遞給Properties的property
10.建立Groovy Script,利用context.expand完成預期結果和實際結果的對比,並返回判斷結果(即“是否通過”),指令碼寫法如下:
/*取資料的格式是${Test Steps name#property}
 * 需要注意的是 context.expand後面的括號內的內容需要用單引號括起來
 */
//從DataSource中取出期望結果
def expected_result = context.expand('${DataSource#expected_result}')
//從Properties中取出實際結果
def actual_result = context.expand('${Properties#actual_result}')
//期望結果和實際結果的對比
if(expected_result == actual_result)
{
return "passed"
}
else
{
return "failed"
}
11.建立DataSink,將資料寫回Excel中,型別也需要使用Excel型別。實際結果是從Properties的property中取;判斷結果是從Groovy Script的result裡取,即寫成${Groovy Script#result}
12.建立DataSource Loop,指定資料來源和目標Step,進行迴圈
13.把Test Request中寫死的引數改成資料來源中的引數!!!切記勿忘!!!勿犯低階錯誤!!!
14.執行test case

需要注意的是:
1.DataSource Loop需要放到最後一步,如果誤把DataSink放到DataSource Loop的後面,則迴圈執行完後只會將最後一次執行的結果寫入檔案中
2.在DataSink務必注意引數的順序需要與Excel中一致