Проблема в том, что вы пытаетесь сохранить возвращаемые значения из ключевого слова sub в виде массива / списка, но возвращаете строки из него.
*** Keywords ***
Main keyword
${OTO_ID} ${LineIdentifier} Run keyword if '${INACTIVEStateCount}'!='0' INACTIVE OTOID selector ${StateCount}
INACTIVE OTOID selector
Return From Keyword If '${OTO_IDStatus}'!='None' ${OTO_ID} ${LineIdentifier}
Это вернет значения ${OTO_ID}
и ${LineIdentifier}
как отдельные переменные, а не как массивы.
Обратите внимание, что я проигнорировал другие шаги в ключевом слове sub, чтобы сделать ответ проще.
Строка (и), которые необходимо заменить:
Run Keyword If '${OTO_IDStatus}'!='None' [Return] ${OTO_ID}
Run Keyword If '${OTO_IDStatus}'!='None' [Return] ${LineIdentifier}
Обновление:
Если вы хотите строго вернуть значения в виде списка, используйте код ниже
*** Keywords ***
Main keyword
${Identifiers} Run keyword if '${INACTIVEStateCount}'!='0' INACTIVE OTOID selector ${StateCount}
INACTIVE OTOID selector
${Identifiers} Create List
.
<Your FOR loop here>
.
\ Run Keyword If '${OTO_IDStatus}'!='None' Append to List ${identifiers} ${OTO_ID} ${LineIdentifier}
Exit For Loop If '${OTO_IDStatus}'!='None'
Return From Keyword If '${OTO_IDStatus}'!='None' ${Identifiers}
Ссылка: Руководство пользователя робота