Проблема связана с тем, что вы используете синтаксис встроенного аргумента. Чтобы робот знал, какое ключевое слово вызывать, он должен сначала развернуть переменную перед тем, как вызовет ключевое слово. Это удаляет один слой обратной косой черты. Затем, когда ваше ключевое слово передает то, что осталось ключевому слову log to console
, оно видит \t
как символ табуляции, поэтому вы видите символ табуляции, а не обратную косую черту и букву "t".
Одним из решений является использование традиционных аргументов, а не встроенных аргументов. В следующем примере выводятся одинаковые значения для обоих раз, когда ключевое слово называется:
*** Variables ***
${dir} = "c:\\temp"
*** Test Cases ***
Test
print ${dir}
run keyword if 1 == 1 print ${dir}
*** Keywords ***
print
[Arguments] ${input1}
log to console \r${input1}