Groovy имя переменной сборки - PullRequest
1 голос
/ 19 марта 2019

У меня SoapUI заводной тестовый шаг с петлей.В каждом цикле я хочу проверить, содержит ли переменная число, например 1.

, например:

  1. запуск цикла для 'управления заказами'
  2. change 'order-управление 'to' order_management '
  3. проверить, содержит ли переменная' order_management 'значение из переменной' ppp '
  4. , напишите: "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!")
    }
}

1 Ответ

2 голосов
/ 19 марта 2019
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")
    }
}
...