机器人框架支持here中所述的“嵌套变量”。
我尝试了多种方法,但没有找到将新值分配给嵌套变量的方法。查看该示例,它甚至没有在RED编辑器中进行验证,执行时将显示以下错误消息:
未找到名称为'$ {VAR _ $ {nested} _VALUE} ='的关键字。
*** Variables ***
${VAR_A_VALUE}= aValue
*** Test Cases ***
I Got Stuck Here
Should Be Equal aValue ${VAR_A_VALUE}
${nested}= Set Variable A
Should Be Equal aValue ${VAR_${nested}_VALUE}
# --- how to assign
${VAR_${nested}_VALUE}= Set Variable A new Value
# --- or create new variable via nested feeature ?
${A_NEW_VAR_${nested}}= Set Variable CreatedViaNested
答案 0 :(得分:3)
将变量用作变量的变量时,变量内部的变量将起作用
关键字,但是在分配新变量时它们不起作用。
发生此错误是因为"${A_NEW_VAR_${nested}}"
是无效的
变量中的变量,因此框架认为它必须是
要执行的关键字。
请从此处找到参考:variable inside variable
答案 1 :(得分:3)
您可以使用关键字Set test variable,Set suite variable和Set global variable来完成所需的工作。
下面是使用Set test variable的示例:
*** Variables ***
${VAR_A_VALUE}= aValue
*** Test Cases ***
I Got Stuck Here
Should Be Equal aValue ${VAR_A_VALUE}
${nested}= Set Variable A
Should Be Equal aValue ${VAR_${nested}_VALUE}
set test variable ${VAR_${nested}_VALUE} A new Value
should be equal ${VAR_A_VALUE} A new Value