Python/RobotFramework中的动态元素/变量在何处使用@和$。示例@{cookies}和${cookies}

Python/RobotFramework中的动态元素/变量在何处使用@和$。示例@{cookies}和${cookies},python,robotframework,Python,Robotframework,我没有任何问题,只是试图理解在哪里使用@{any_variable}和${any_variable} “@”和“$”差异 :FOR ${partner} IN @{partners_name} Set test variable ${partner} 我没有任何错误,只是想知道在哪里使用@和$ 或者@和$之间的差异,$前缀代表“使用该变量的值”@是“扩展容器的内容(通常是一个列表,但这不是唯一的选项),并使用该组值” 例如: ${a list}= Cre

我没有任何问题,只是试图理解在哪里使用@{any_variable}和${any_variable} “@”和“$”差异

:FOR    ${partner}    IN    @{partners_name}
      Set test variable   ${partner}
我没有任何错误,只是想知道在哪里使用@和$
或者@和$

之间的差异,
$
前缀代表“使用该变量的值”
@
是“扩展容器的内容(通常是一个列表,但这不是唯一的选项),并使用该组值”

例如:

${a list}=    Create List    a    b    c
使用时

FOR    ${value}    IN    @{a list}
,通过RF as进行评估

FOR    ${value}    IN    a     b    c
FOR    ${value}    IN    ['a', 'b', 'c']   # this is a string, not an actual python list
,这是正确的for循环语法


但与此同时:

FOR    ${value}    IN    ${a list}
,通过RF as进行评估

FOR    ${value}    IN    a     b    c
FOR    ${value}    IN    ['a', 'b', 'c']   # this is a string, not an actual python list
,这在语法上不适用于RF


通常,当您想要传递“列表成员,每个成员单独传递”时,请使用
@
。当需要传递列表变量本身时,请使用
$

这是一种简化,但涵盖了主要用例