概述
变量是Robot Framework的一个内部特性, 在大多数的测试数据中都可以使用.
大部分情况下, 变量是用于关键字的参数, 不过所有的设置项也都支持用变量来指代设置值. 一般情况下关键字的名称是不能使用变量替代的, 不过, 可以通过 BuiltIn 关键字 Run Keyword 来实现这个效果.
Robot Framework 的变量分为 标量, 列表 和 字典, 分别使用语法格式 ${SCALAR}
, @{LIST}
和 &{DICT}
来定义. 此外, 环境变量 可以直接使用语法 %{ENV_VAR}
来获取.
变量在下面的情况中很有用:
- 当测试数据中的字符串经常变化时. 使用变量的话就只需要在一个地方修改.
- 当创建系统无关和平台无关的测试数据时. 使用变量替代硬编码的字符串可以非常方便(例如,
${RESOURCES}
替代c:\resources
,${HOST}
替代10.0.0.1:8080
). 因为变量值可以在测试执行时 通过命令行选项设置, 所以修改系统相关的变量非常容易(例如,—variable HOST:10.0.0.2:1234 —variable RESOURCES:/opt/resources
). - 当需要传递对象而不是字符串参数给关键字时. 这种情况下只能使用变量实现.
- 当不同的关键字(这些关键字可能来自不同的库)之间需要通信时.可以将一个关键字的返回值先赋值给一个变量, 然后再作为参数传递给另外一个关键字
- 当某个值太长或者太复杂时. 例如, 使用
${URL}
比直接使用http://long.domain.name:8080/path/to/service?foo=1&bar=2&zap=42
简短很多.
如果某个变量不存在, 则使用该变量的关键字会失败. 如果要在字面字符串中表示变量的语法格式, 则必须使用 反斜杠转义, 例如 \${NAME}
.
当前内容版权归 robotframework 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 robotframework .