If statement 如何根据Robot中的IF/ELSE条件为变量赋值?

If statement 如何根据Robot中的IF/ELSE条件为变量赋值?,if-statement,robotframework,If Statement,Robotframework,如果条件为true,我尝试将关键字(Get Ipsec Pkt Stat)的返回值分配给一个变量。以下是我正在使用的语法,但是我的变量${ipsec_stats}没有被赋值,即使条件得到满足: Run Keyword If '${chassis_cluster}' == 'True' ... ${ipsec_stat} = Get Ipsec Pkt Stats ${R0} node=local ... ELSE ... ${ipsec_stat} = G

如果条件为true,我尝试将关键字(Get Ipsec Pkt Stat)的返回值分配给一个变量。以下是我正在使用的语法,但是我的变量${ipsec_stats}没有被赋值,即使条件得到满足:

Run Keyword If    '${chassis_cluster}' == 'True'
...    ${ipsec_stat} =  Get Ipsec Pkt Stats   ${R0}     node=local
...    ELSE
...    ${ipsec_stat} =  Get Ipsec Pkt Stats   ${R0} 
[Return]    ${ipsec_stat}

如果
要求关键字作为参数,而不是变量名后跟关键字,则运行关键字

如果使用
run关键字指定变量,正确的方法是将变量设置为该关键字的结果:

${ipsec_stat}=  Run keyword if  '${chassis_cluster}' == 'True'
...  Get ipsec Pkt Stats  ${R0}  node=local
...  ELSE
...  Get ipsec Pkt Stats  ${R0}