1. 程式人生 > >轉載:SoapUI之接口數據傳遞

轉載:SoapUI之接口數據傳遞

ref 模擬 運行 效率 apu 一個 操作 click rest

SoapUI之接口數據傳遞(TestCase、TestSuite傳遞)

SoapUI之接口數據傳遞(step傳遞)

SoapUI+Groovy做接口自動化測試

SoapUI中使用Conditional Goto TestStep

摘要: How to use Conditional Goto TestStep instead of Groovy Script

Background: 在SoapUI的TestStep中,Groovy Script可以實現大多數種類的測試場景,但是一個Project中Script太多會拖慢運行速度和效率,所以SoapUI自帶了其他種類的TestStep,例如“Conditional Goto” :

技術分享

1.Right click one TestStep->Right click->Add Step->Conditional Goto.

2.在彈出的界面做下圖所示4步操作:

技術分享

  • 添加一個Condition變量,名字不限,見名知義即可;
  • 點擊視圖選擇器,選擇作為條件的變量:點擊後SoapUI就會自動彈出上一個Request Method Test Step的Response Json View,雙擊選擇需要作為跳轉標誌的字段,那對應的XPath Expression就會填充到上方的空白處;
  • 為選擇的變量添加跳轉條件:上圖的意思是“選擇的status字段是IN_CALCULATION的時候跳轉到指定的Target step”;
  • 在下拉列表中選擇跳轉條件滿足時需要跳轉到的Target Step:上圖中需要循環執行“GetTableData_PAAPI”,所以條件是這個Step的某個字段,條件滿足時繼續執行該Step。

註意:

  • Conditional Goto步驟在實際運用中的意思是:當上一個REST Test Step的滿足某一個條件時,就跳轉到該Test Case中的某個Target Step。
  • 用Conditional Goto步驟實現輪詢時,因為該Step有自己設定的間隔時間(應該是幾十毫秒),可能跟界面上輪詢時間不同,所以為了模擬真實界面錯做,就需要在改步驟前面加上Sleep Test Step(默認休眠時間是1000ms)。
  • 若需要跳轉的條件跟上一個REST Test Step返回結果無關,此時該TestStep無效。這種情況下可以添加一個Groovy Script,在Script中判斷條件是否為true,若為true,則goto某TestStep:

if(context.expand(‘${DataSource#bmkId}‘) == ""){
testRunner.gotoStepByName("GetOwnershipData_PAAPI VS DataAPI")
}

所以在用工具的時候,要根據自己的業務需求靈活選擇Test Step。

轉載:SoapUI之接口數據傳遞