如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1770899.html
常量就不多说了吧,大家都懂!直接看栗子
上面 log 关键字后面跟的参数都是常量,且类型均是字符串【RF 里面,常量默认是字符串类型,如果需要整形、浮点数、列表,需要调用关键字来转换 or 生成】
{变量名}
{} 就是变量标识符
变量类型 | 变量中文 | 写法 |
scalar | 标量 | ${SCALAR} |
list | 列表 | @{LIST} |
dict | 字典 | &{DICT} |
环境变量 | 环境变量 | %{ENV_VAR} |
变量的作用就不说了哈,大家应该都知道~
如果一个标量的值是一个列表,或者类似列表的其它序列,可以将该变量作为列表变量使用,格式为 @{EXAMPLE}
直接声明变量名,然后接值就可以了
重点:不同值之间也要空两个空格,不然 RF 会识别成同一个元素值
我们将它们等价到Python 里面去看,这样更好理解
def printarg(*args): if len(args) == 0: print('** no args **') else: print('** args are **') print('-----------------') for one in args: print(repr(one)) print('-----------------') # 等价于 RF 的写法:printarg ${lists} printarg(lists) # 等价于 RF 的写法:printarg @{lists} printarg(*lists)
** args are ** ----------------- [1, 2, 3, 4, 5] ----------------- ** args are ** ----------------- 1 2 3 4 5 -----------------
一共两种获取的格式
如果一个标量的值是一个字典,可以将该变量作为字典变量使用,格式为 &{EXAMPLE}
直接声明变量名,然后接 即可,注意声明字典变量一定要用 &{dicts} 的格式
重点:不同key=value之间也要空两个空格,不然 RF 会识别成同一个值
我们将它们等价到Python 里面去看,这样更好理解
def printarg(**kwargs): if len(kwargs) == 0: print('** no kwargs **') else: print('** kwargs are **') print('-----------------') for k, v in kwargs.items(): print(repr(k) + ':' + repr(v)) print('-----------------') # 等价于 RF 的写法:printarg &{dicts1} printarg(**dicts1)
** kwargs are ** ----------------- 'name':'yy' 'age':19 -----------------
只有一种获取格式: ${dicts}[key]