Groovy构建变量名称

时间:2019-03-19 16:44:08

标签: groovy soapui

我有带有循环的SoapUI groovy测试步骤。 在每个循环中,我想检查变量是否包含数字,例如1。

例如:

  1. “订单管理”的启动循环
  2. 将“订单管理”更改为“ order_management”
  3. 检查变量“ order_management”是否包含变量“ ppp”中的值
  4. 写:“成功!”

我试图制作此脚本,但是它不起作用:

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!")
    }
}

1 个答案:

答案 0 :(得分:2)

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")
    }
}