使用Groovy脚本断言数组列表中的变量值
我试图在数组列表中查找变量值,但显示错误弹出窗口 Groovy代码:-使用Groovy脚本断言数组列表中的变量值,groovy,soapui,Groovy,Soapui,我试图在数组列表中查找变量值,但显示错误弹出窗口 Groovy代码:- def testCase = messageExchange.modelItem.testCase; def Created_BookingID = testCase.testSuite.project.getPropertyValue("Created_BookingID"); log.info Created_BookingID import groovy.json.JsonSlurper JsonSlurper j
def testCase = messageExchange.modelItem.testCase;
def Created_BookingID = testCase.testSuite.project.getPropertyValue("Created_BookingID");
log.info Created_BookingID
import groovy.json.JsonSlurper
JsonSlurper jsonSlurper = new JsonSlurper()
String jsonString = context.expand('${ListAllRoomBookings#Response}')
Map convertedJSONMap = jsonSlurper.parseText(jsonString)
def RoomID
//If you have the nodes then fetch the first one only
if(convertedJSONMap."RoomBookings"){
RoomID = convertedJSONMap."RoomBookings"."BookingData"."BookingID"
log.info RoomID
}
//Find the created booking in list.
assert Created_BookingID.containsAll(RoomID)
错误:-
没有方法签名:java.lang.String.containsAll()适用于参数类型:(java.util.ArrayList)值:[[1482811482148277]]可能的解决方案:contains(java.lang.CharSequence)、contains(java.lang.CharSequence)、contains(java.lang.String)、notifyAll()
在窗口中打印值:-
Wed Aug 02 17:17:22 IST 2017:INFO:148277
Wed Aug 02 17:17:22 IST 2017:INFO:[148281, 148282, 148277]
没有方法的签名:java.lang.String.containsAll()
适用于参数类型:(java.util.ArrayList) 值:[[148281、148282、148277]] 您尝试对字符串对象调用
containsAll()
方法。这意味着,Created\u BookingID
vaiable此时为String
如果要检查创建的字符串\u BookingID是否位于数组RoomID
代码如下所示:
assert Created_BookingID in RoomID
现在错误显示:-assert Created_BookingID in RoomID | | | | 148277 |[148281,148282,148277]false您确定
RoomID
也包含字符串值(与Created_BookingID
的类型相同)?要检查RoomID
元素的数据类型,请调用:log.info(RoomID[0].getClass().toString())
。将断言之前创建的BookingID
的数据类型强制转换为RoomID
type。谢谢。”Created_BookingID'为字符串,其中as'RoomID'为整数。
assert Created_BookingID in RoomID