Robot Framework if-условие не выполняется - PullRequest
0 голосов
/ 26 ноября 2018

Почему это условие if неверно, когда $ {orderrowlist} содержит данные (это список списков)?

${orderrowlist}=  Run Keyword If  '${orderrowlist}'== '${EMPTY}'  Set variable  ${tmp}

Я регистрирую orderrowlist непосредственно перед этим, если и сразу после,В первом журнале перечисляются ожидаемые данные, а при втором журнале содержимое orderrowlist заменяется содержимым tmp

1 Ответ

0 голосов
/ 26 ноября 2018

Почему это условие if не верно, если $ {orderrowlist} содержит данные (это список списков)?

${orderrowlist}= Run Keyword If '${orderrowlist}'== '${EMPTY}' Set variable ${tmp}

ПочемуЭто ложно, когда ${orderrowlist} не пусто?Потому что непустой список не равен пустой строке.

В первом журнале перечисляются ожидаемые данные, в то время как при втором журналировании содержимое orderrowlist заменяется содержимым tmp

Это потому, что вы явно устанавливаете значениепеременной в результате ключевого слова.


Обычно, чтобы установить переменную на основе условия, вы должны использовать Установить переменную, если вместо Выполнить ключевое слово, если .В первом случае вы можете указать два значения: одно, если условие истинно, и одно, если оно ложно.Если вы хотите, чтобы переменная не изменялась, вы можете использовать существующее значение в качестве значения «false».

Вот пример:

*** Variables ***
${var}  original value

*** Test Cases ***
Example
    ${var}=  set variable if  '${var}' == '${EMPTY}'  new value  ${var}
    should be equal as strings  ${var}  original value

    ${var}=  set variable if  '${var}' == 'original value'  new value  ${var}
    should be equal as strings  ${var}  new value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...