如果在 Robot Framework 中 None,则将变量设置为空字典

Set Variable to Empty Dict if None in Robot Framework

我希望在测试套件中重新创建它:

if value is None:
    value = {}

我打算添加到词典中,因此以下内容不起作用:

${default}=    Create_Dictionary
${value2}=    Set_Variable_If    ${value} is ${None}    ${default}
...    ${value}

当我将键添加到 ${value2} 时,它会添加到 ${default}(很可能是由于 Python 传递引用的方式)。

如果您使用的是机器人框架 2.9 或更高版本,您可以通过省略大括号直接在 python 表达式中使用变量。如果您有一个名为 ${value} 的机器人变量,您可以将其引用为 $value,其中机器人需要 python 表达式(例如使用 evaluate 关键字)。

例如:

${value2}=    evaluate    {} if $value is None else $value

您可以使用Run Keyword If到运行关键字来设置变量。这可以调用 Create Dictionary 并创建一个新的和未引用的字典来设置您的变量。

${value}=  Run Keyword If  ${value} is ${None}  Create Dictionary
...  ELSE  Set Variable  ${value}