Структура робота: как использовать «Задать переменную, если», не назначая значение по умолчанию (Нет), если условие не выполнено - PullRequest
1 голос
/ 31 октября 2019

Я новичок в роботизированной системе.

Здесь я анализирую ответ, используя цикл FOR для робота и ключевое слово Set Variable If. но, как я звоню в цикле. одна из переменных установлена ​​в None. Я хочу этого избежать.

Тело ответа

{
  'services': [
    {
      'service': 'postgres',,
      'replicationStatus': 'completed'
    },
    {
      'service': 'mongodb',
      'replicationStatus': 'completed'
    }
  ]
}

Парсинг response_body

:FOR    ${item}  in    @{response_body["services"]}
\    Log    ${item}
\    ${mongodb_replication_status}=     Set Variable If    "${item['service']}"=="mongodb"    ${item['replicationStatus']}
\    ${postgres_replication_status}=    Set Variable If    "${item['service']}"=="postgres"   ${item['replicationStatus']}
Log    ${mongodb_replication_status}
Log    ${postgres_replication_status}

Я получаю вывод, как показано ниже:

${mongodb_replication_status} = completed   
${postgres_replication_status} = None

1 Ответ

3 голосов
/ 31 октября 2019

После каждого условия и значения задается значение по умолчанию, в вашем случае:

:FOR    ${item}  in    @{response_body["services"]}
\    Log    ${item}
\    ${mongodb_replication_status}=     Set Variable If    "${item['service']}"=="mongodb"    ${item['replicationStatus']}    default value
\    ${postgres_replication_status}=    Set Variable If    "${item['service']}"=="postgres"   ${item['replicationStatus']}    default value
Log    ${mongodb_replication_status}
Log    ${postgres_replication_status}

Другой пример мультиусловия:

${variable_value}=    Set Variable If    ${var} == 1    one
...    ${var} == 2    two
...    other than one or two

Если значение по умолчанию недоступнопеременная присваивается как None.

. Это хорошо объяснено в документации .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...