SoapUI中使用Property Transfer TestStep

1.已知一個TestStep的response,如何解析這個response,並將某個字段值做爲下一個TestStep的變量呢?api

2.能夠使用Groovy Script,解析該Response,並將某個字段的值保存到TestCase或者TestSuite級別:ui

TestCase level : testRunner.testCase.setPropertyValue("endDate_paapi", endDate)spa

TestSuite level : testRunner.testCase.testSuite.setPropertyValue("endDate_paapi", endDate)ip

在須要調用的時候用以下方式:字符串

TestCase level : ${#TestCase#endDate_paapi} get

TestCase level : ${#TestSuite#endDate_paapi} it

3.但如果這個變量保存之後使用頻率或者範圍不廣,就沒有太大的保存必要,而是直接使用,此時能夠用「Property Transfer".test

上圖意思是:將用"GetDateRange_PAAPI"的Response做爲變量來源。變量

點擊最右側的圖標後,系統會彈出該TestStep的Response結構圖,雙擊須要選擇的節點「endDate", 系統即自動將該節點的JsonPath路徑填入到Source面板。date

在Target區域,選擇該變量將要被使用的地方」RecalculateAccount_PAAPI",

上圖意思是:將Source中得到的變量值用到「RecalculateAccount_PAAPI」的Request(POST body)中。

點擊最右側的圖標後,系統會彈出該TestStep的Request(POST body)結構視圖,雙擊須要使用該變量值的節點,在Target面板會自動生成該節點的JsonPath。
4.上圖是將上一步驟的一個response變量值傳遞到下面某一個步驟body中做爲某一個變量的值。若是是一個Get方式的步驟須要用到改變量,那麼使用情形分爲兩種:
a) 該步驟中有一個變量相似「date」:那就直接在Property的下拉列表中選擇date便可:

b) 該步驟中有一個變量,變量是一個字符串,該字符串中有一個子節點須要用到傳遞過來的參數值:


Comments:

該Property Transfer TestStep 只可以傳一個葉子節點至其餘TestStep的URL或者Body中,若是傳的是一個map或者一個list,那傳過去的值都是「null」。這種狀況只能先將須要傳遞的map或者list保存到其餘地方(TestSuite、TestCase等)做爲中轉, 而後在須要用到的其餘TestStep中調用該變量。

相關文章
相關標籤/搜索