2017-06-13 55 views
2

我試圖通過json響應Groovy'jsonString'參數。當我在代碼中手動傳遞json時,它正確地工作。但我的迴應是動態的,我需要在運行時通過。將動態響應傳遞給Groovy腳本測試步驟以String參數

import groovy.json.JsonSlurper 
String jsonString = context.expand('${REST SearchRooms#Response}') 
JsonSlurper jsonSlurper = new JsonSlurper() 
Map convertedJSONMap = jsonSlurper.parseText(jsonString) 
if(convertedJSONMap."RoomSearchResult") 
{ 
    log.info "ResourceItemID : " + convertedJSONMap."RoomSearchResult"[0]."ResourceItemID" 
} 

我的JSON響應這個樣子:

{ 
    "Success": true, 
    "TotalRecords": 2, 
    "RoomSearchResult": [ 
      { 
     "ResourceItemID": 2290, 
     "Name": "Room 23 (L02)", 
     "LocationId": 7, 
     "GroupID": 518, 
     "FloorID": 2, 
     "DefaultCapacity": 4, 
     "CanBeBooked": true 
     }, 
{ 
     "ResourceItemID": 2063, 
     "Name": "Room 15 (L10)", 
     "LocationId": 7, 
     "GroupID": 518, 
     "FloorID": 10, 
     "DefaultCapacity": 8, 
     "CanBeBooked": true 
     } 
    ], 
    "Error": { 
     "ErrorCode": 0, 
     "ErrorDescription": "" 
    } 
} 

錯誤:JSON輸入文本應該既不爲null也不爲空。

我是新來groovy。請建議如何去做。

+0

問題是類似TI這一個:https://stackoverflow.com/questions/ 44421624/how-to-pass-a-two-dimensional-list-array-between-groovy-scripts-in-soap-ui/44422551#44422551 – daggett

+0

您的上一步名稱「REST測試請求」是否正確? – Rao

+0

我用我使用的確切測試步驟和錯誤消息更新了問題。 'SearchRooms'是我目前的測試步驟。我想通過哪個迴應。 – rAJ

回答

1

你有微不足道的錯誤。

恰克下面線

來自:

String jsonString = context.expand('${REST SearchRooms#Response}') 

到:

String jsonString = context.expand('${SearchRooms#Response}') 
+0

它的工作原理。謝謝饒:) – rAJ