使用 Groovy 脚本断言数组列表中的变量值

Assert the variable value in array list using Groovy script

我试图在数组列表中查找变量值,但显示错误弹出窗口。

Groovy代码:-

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) 值:[[148281, 148282, 148277]] 可能的解决方案:contains(java.lang.CharSequence), contains( java.lang.CharSequence), 包含(java.lang.String), notifyAll()

打印 window 中的值:-

Wed Aug 02 17:17:22 IST 2017:INFO:148277
Wed Aug 02 17:17:22 IST 2017:INFO:[148281, 148282, 148277]
assert Created_BookingID.containsAll(RoomID)

No signature of method: java.lang.String.containsAll()
is applicable for argument types: (java.util.ArrayList) values: [[148281, 148282, 148277]]

您尝试调用 String 对象的 containsAll() 方法。这意味着此时 Created_BookingID vaiable 是 String.

如果你想检查字符串 Created_BookingID 在数组 RoomID 中 代码将是这样的:

assert Created_BookingID in RoomID