Вы поняли почти правильно - просто неправильно набрали ELSE - оно должно быть написано заглавными буквами, чтобы считаться частью Run Keyword If
. Итак, в вашем конкретном случае это должно было быть:
${body}= Run keyword if '${phonenumber_id}'!='NULL' Set variable TRUE
... ELSE Set Variable FALSE
Однако для простого случая установки нового постоянного значения вполне достаточно answer @ILostMySpoon - и более "читабельного".
В общем, для тех, кто наткнулся на этот пост, Run Keyword If
в сочетании с ELSE Set Variable
- очень мощная конструкция для установки / изменения переменной - основанная на том факте, что она не только запускает ключевое слово (а) условно, но также возвращает возвращаемые значения обратно. в стек.
Рассмотрим этот пример:
${var}= Run Keyword If ${bool condition} Do Some Action Returning A Value
... ELSE Set Variable ${var}
В нем {var}
будет установлено значение, возвращаемое Do Some Action Returning A Value
, только если ${bool condition}
будет истинным, и в противном случае сохранит свое старое значение.
Еще один искусственный, но менее абстрактный пример:
${value}= Run Keyword If ${should be int} Convert To Integer ${value}
... ELSE IF ${should be float} Convert To Number ${value}
... ELSE Set Variable ${value}
29.04.2017