如果你还想从头学起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 *** 表中的设置项

  1. [Documentation]
  2. [Tags]
  3. [Arguments]
  4. [Return]
  5. [Teardown]
  6. [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)