SoapUI中使用Conditional Goto TestStep

Background: 在SoapUI的TestStep中,Groovy Script能夠實現大多數種類的測試場景,可是一個Project中Script太多會拖慢運行速度和效率,因此SoapUI自帶了其餘種類的TestStep,例如「Conditional Goto」 : 工具

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

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

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

注意:ip

  • 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")
            }get

因此在用工具的時候,要根據本身的業務需求靈活選擇Test Step。it

相關文章
相關標籤/搜索