如果在Robot Framework中将None设置为Empty Dict

时间:2016-01-12 19:39:28

标签: robotframework

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

if value is None:
    value = {}

我计划添加到字典中,以便以下内容不起作用:

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

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

2 个答案:

答案 0 :(得分:3)

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

例如:

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

答案 1 :(得分:1)

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

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