SoapUI:从Groovy脚本构建DataSource属性

时间:2016-02-21 14:29:27

标签: groovy automation datasource soapui

我正在尝试使用soap响应返回的所有RoomTypeIds创建属性,就像我从网格中获取它,所有结果都在同一属性下,所以我可以迭代它们,但是当我运行脚本时,我得到只有最新的结果多次,通常的属性命名是:结果['属性']。

for(int i = 1; (context.expand( '...ns1:RoomTypes[1]/ns1:RoomType[' + i + ']/@hotelRoomTypeId}' )) != ""; i++)  
{  
    def RoomTypeId = (context.expand( '...ns1:RoomTypes[1]/ns1:RoomType[' + i + ']/@hotelRoomTypeId}' )).toInteger()  
    result['RoomTypeId'] = RoomTypeId  
}  

Result In SoapUI

1 个答案:

答案 0 :(得分:0)

我认为result是一个类似地图的对象。如果是这种情况,您是否在每次迭代期间覆盖 RoomTypeId

以下是将 RoomTypeId 属性设置为List的方法:

for(int i = 1; String value = context.expand( "...ns1:RoomTypes[1]/ns1:RoomType[$i]/@hotelRoomTypeId}"); i++) {  
    if(!result['RoomTypeId']) result['RoomTypeId'] = []

    result['RoomTypeId'] << value.toInteger()
}