Groovy 构建变量名
Groovy build variable name
我有 SoapUI groovy 带循环的测试步骤。
在每个循环中,我想检查变量是否包含数字,例如1.
例如:
- 开始循环 'order-management'
- 将'order-management'更改为'order_management'
- 检查变量 'order_management' 是否包含变量 'ppp'
的值
- 写入:"Success!"
我尝试制作这个脚本,但它不起作用:
def order_management = [1,3,5]
def customer_management = [2,6,3]
def document_management = [1,3,2]
def list = ['order-management', 'customer-management', 'document-management']
list.each {
def ppp = 1
if (("${it}".replace("-","_")).contains(ppp)) {
log.info ("Success!")
}
}
def order_management = [1,3,5]
只是脚本中局部变量的声明,您不能按名称将局部变量作为 属性 访问。
你可以把所有*-管理数据放到一个地图中:
def data=[
'order-management' : [1,3,5],
'customer-management' : [2,6,3],
'document-management' : [1,3,2],
]
并避免使用 replace("-","_")
在键中保留 -
符号
最后您的代码可能如下所示:
def data=[
'order-management' : [1,3,5],
'customer-management' : [2,6,3],
'document-management' : [1,3,2],
]
def ppp = 1
data.each{k,v->
if ( v.contains(ppp)) {
println ("found $ppp in $k")
}
}
我有 SoapUI groovy 带循环的测试步骤。 在每个循环中,我想检查变量是否包含数字,例如1.
例如:
- 开始循环 'order-management'
- 将'order-management'更改为'order_management'
- 检查变量 'order_management' 是否包含变量 'ppp' 的值
- 写入:"Success!"
我尝试制作这个脚本,但它不起作用:
def order_management = [1,3,5]
def customer_management = [2,6,3]
def document_management = [1,3,2]
def list = ['order-management', 'customer-management', 'document-management']
list.each {
def ppp = 1
if (("${it}".replace("-","_")).contains(ppp)) {
log.info ("Success!")
}
}
def order_management = [1,3,5]
只是脚本中局部变量的声明,您不能按名称将局部变量作为 属性 访问。
你可以把所有*-管理数据放到一个地图中:
def data=[
'order-management' : [1,3,5],
'customer-management' : [2,6,3],
'document-management' : [1,3,2],
]
并避免使用 replace("-","_")
在键中保留 -
符号
最后您的代码可能如下所示:
def data=[
'order-management' : [1,3,5],
'customer-management' : [2,6,3],
'document-management' : [1,3,2],
]
def ppp = 1
data.each{k,v->
if ( v.contains(ppp)) {
println ("found $ppp in $k")
}
}