为什么在 Robotframework 的 For IN express 中没有关于 ${index} 值的定义

Why it's alert no defination about ${index} value in For IN express of Robotframework

定义一个包含多个名字的列表来检查,如果找到'lvbu'个字符串,则跳出LOOP体。但是快递好像不适合robotframwork,能告诉我为什么通知name'liubei 没有定义变量 ${index}
代码:

Exit For Loop
@{items}    Create List    liubei    zhangfei    guanyu    lvbu    zhaoyun    machao
FOR    ${index}    IN    @{items}
    Run Keyword If    ${index}==lvbu    Exit For Loop
END

跟踪信息:

20211224 23:34:12.775:TRACE:参数:['liubei' | 'zhangfei' | 'guanyu' | 'lvbu' | 'zhaoyun' | 'machao']

20211224 23:34:12.775:跟踪:Return:['liubei'、'zhangfei'、'guanyu'、'lvbu'、'zhaoyun', 'machao']

20211224 23:34:12.776 : INFO : @{items} = [ 刘备 |张飞 |关羽 |吕布|赵云 |马超]

20211224 23:34:12.779:TRACE:参数:['liubei==lvbu' | 'Exit For Loop']

20211224 23:34:12.785:失败:计算表达式 'liubei==lvbu' 失败:NameError:名称 'liubei' 未定义,也无法导入为模块

机器人替换变量后,表达式必须是有效的python表达式。如错误所示,正在评估的表达式变为 liubei == lvbu。这意味着 python(不是机器人)必须有一个名为 liubei 的变量和另一个名为 lvbu.

的变量

如果您尝试比较字符串,则必须正确引用它们。例如,如果您知道 ${index} 本身没有任何引号字符,这将起作用:

Run Keyword If  '${index}' == 'lvbu'  Exit For Loop

机器人对表达式中使用的变量有特殊的语法。如果您不使用花括号,机器人将为您创建 python 变量,这样就避免了必须知道变量中是否包含引号的问题。

Run Keyword If  $index == 'lvbu'  Exit For Loop

有关详细信息,请参阅 BuiltIn 库文档中标题为 Evaluating expressions 的部分。