我正在使用机器人编写测试用例一段时间,但我仍然无法在脑海中弄清楚这一点,就像一条规则告诉我何时需要引用? 例如,有变量:
${variable}
$variable
${variable.att}
'${variable}'
"${variable}"
None
'${None}'
它们在Evaluate
关键字中的时间是什么?
看起来${1}
是数字,1
是字符串,但在FOR
循环中,有:
: FOR ${variable} IN 1 2
现在1
似乎是数字?
答案 0 :(得分:3)
粗略地说,只要将变量视为python表达式或语句,就需要添加引号。
当你使用Evaluate
时,你传递了python代码来执行。 Python要求字符串在引号内表示。因此,如果您的变量${variable}
包含五个字符hello
,则要将其与Evaluate
一起使用,您必须使用引号。
例如,给出以下机器人声明:
${result}= Evaluate '${variable}' + " world"
这会导致以下python代码被评估:
'hello' + " world"
如果没有引号,它将是hello + " world"
,在这种情况下,python认为hello
代表一个变量。
对于花括号内的数字,这只是将字符串转换为实际数字的一些额外语法。当您调用需要实际数字的关键字而不是包含数字的字符串时,这非常有用。
花括号中的数字行为在此处的用户指南中有所描述:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#number-variables 曲
$ {NONE},您需要传递python值None
,或者将关键字的结果与python值{ {1}}。你永远不会在这个变量周围加上引号。没有引号或花括号的字符串None
被机器人视为文字字符串None
。