如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1770899.html
什么是用户关键字
- 类似 Python 里面的函数,我们自定义函数,等于我们自定义关键字,也称为用户关键字
- *** Keywords *** 表放的就是用户关键字
定义用户关键字的简单栗子
等价于 Python 里面:定义函数,调用函数
def add(a, b): return a + b if __name__ == '__main__': print(add(1, 1))
*** Keywords *** 表中的设置项
- [Documentation]
- [Tags]
- [Arguments]
- [Return]
- [Teardown]
- [Timeout]
用户关键字的参数详解
- 参数通过 [Arguments] 设置, 参数名称的语法格式和 变量 一样, 如 ${arg}
- 其实用户关键字的参数列表就等同于 Python 函数的参数列表,只是写法变了而已
位置参数
等价于 Python
其实就是最简单的函数声明了
def one(arg1): print(arg1) def Three(arg1, arg2, arg3): print(arg1) print(arg2) print(arg3)
默认值参数
测试结果
等价于 Python
就是给参数设置默认值嘛,看 Python 代码的话应该很好理解吧;不过要注意 Python 函数的参数间不可以想相互赋值
def onedefault(arg="默认值"): print(arg) default = "默认默认值" def threedefault(a, b="a", c=default): print(a) print(b) print(c)
重点知识点
默认值的语法是对空格敏感的,等号 =
前面不允许有空格,而=后面的空格则被视作默认值的一部分
可变参数
用 @{args} 声明参数时,就是代表可变参数,可以接受不定数量的参数,跟 Python 的可变参数一个意思
测试结果
等价于 Python
def args_one(*args): for i in args: print(i) def args_default(a, b=1, *args): print(a) print(b) for i in args: print(i)
关键字参数
用 &{args} 声明参数时,就是代表关键字参数,可以接受不定数量的关键字参数,跟 Python 的关键字参数一个意思
测试结果
等价于 Python
# 关键字参数 def kwargs_demo(arg, **kwargs): print(arg) for k, v in kwargs.items(): print(k, v)