使用 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
我试图在数组列表中查找变量值,但显示错误弹出窗口。
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