《我的RobotFramework书》1-6 变量, Variable

变量, Variable


作者: 虞科敏

很多测试数据场景会使用变量。 最常见的,比如 用作关键字的参数, Setting的值等。
普通关键字名中不能使用变量,但内建关键字Run Keyword可以用来达到相似的效果。

3种变量类型

  • 标量scalars - ${SCALAR}
  • 列表lists - @{LIST}
  • 字典dictionaries - &{DICT}

另外,环境变量可以直接使用语法 %{ENV_VAR} 进行访问

变量的使用场景举例: 在测试数据中,某字符串经常改变: 使用变量你只需要在一个地方进行改变
创建系统独立或者操作系统独立的测试数据: 变量可以使用命令行进行指定
关键字中需要对象参数,而不仅仅是字符串
不同的库,不同的关键字需要通信: 返回值可以付给变量,然后传给另一个关键字
测试数据的值太长,太复杂

如果测试数据使用了一个不存在的变量,关键字执行会失败
如果不希望获取变量的值,可以进行转义 ${NAME}

变量类型

变量和关键字一样,大小写敏感
空格和下划线会被忽略

建议:
全局变量使用大写,如${PATH} or ${TWO WORDS}
只在某用例或关键字中使用的变量使用小写,如 ${my var} or ${myVar}
最重要的,大小写的风格要保持一致
变量名使用字母表字符(a-z, A-Z),数字(0-9), 下划线(_)和空格,这也是扩展变量的所明确要求的

标量, scalars - ${SCALAR}

不只是字符串,任何对象实例都可以付给标量变量,比如list
当标量变量是cell中的唯一值时, 变量变量会被它所有的值所代替
当标量变量在cell中和其他元素一起存在时,变量变量会被转换为unicode,然后和其他元素进行合并

Tips: 当参数使用命名参数语法被传递给关键字(argname=${var}),标量变量值被用作as-is值, 不会进行转换,

样例1
假设 ${GREET} = Hello and ${NAME} = world, 以下两个关键字的效果是一样的

Test Cases 
Constants

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值