Robot Framework(11)- 用戶關鍵字的詳解

如果你還想從頭學起Robot Framework,可以看看這個系列的文章哦!

//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)