使用 keywords - daniel-qa/RobotFramework GitHub Wiki

Keyword And Ignore Error

Keyword And Ignore Error:执行关键字,如果遇到错误,则忽略该错误并继续执行后续的关键字

Keyword And Return Status:执行关键字,如果执行成功,则返回True,否则返回False

Keyword And Continue On Failure:执行关键字,如果遇到错误,则继续执行后续的关键字

中途想跳出 Keyword 的方式

使用 if 的判斷方式,條件失敗,則不繼續往下執行 (結束)

*** Keywords ***
判斷登入狀態
Log    判斷登入狀態
    ${element_status}    Run Keyword And Return Status    Page Should Not Contain Element    css=.ivu-icon-md-power
    run keyword if    ${element_status}    登入        ${id}    ${pwd}

登入
    Log    執行登入的操作

用户关键字返回值

*** Test Cases ***
One Return Value
    ${ret} =    Return One Value    argument
    Some Keyword    ${ret}

Multiple Values
    ${a}    ${b}    ${c} =    Return Three Values
    @{list} =    Return Three Values
    ${scalar}    @{rest} =    Return Three Values

*** Keywords ***
Return One Value
    [Arguments]    ${arg}
    Do Something    ${arg}
    ${value} =    Get Some Value
    [Return]    ${value}

Return Three Values
    [Return]    foo    bar    zap

使用 keywords,Arguments

  • EX
*** Variables ***
${LOGIN_URL}      https://www.google.com

*** Test Cases ***
Example Test    
	登入    https://mynet.net

*** Keywords ***
登入
    [Arguments]    ${url}=${LOGIN_URL}

keyword 的參數使用變數作預設值

*** Settings ***
Library    BuiltIn

*** Variables ***
${default_value}    Default Value

*** Keywords ***
Example Keyword
    [Arguments]    ${param1}    ${param2}=${default_value}
    Log    param1: ${param1}
    Log    param2: ${param2}

*** Test Cases ***
Example Test Case
    [Documentation]    This is an example test case
    Example Keyword    Value 1
    Example Keyword    Value 2    Custom Value
  • 預設變數參數
[Arguments]    ${id}=${USERNAME}    ${pwd}=${PASSWORD}    #  (O) 可以使用
[Arguments]    ${id}    ${pwd}=${PASSWORD}        #  (O) 可以使用 
[Arguments]    ${id}=${USERNAME}    ${pwd}    #  (X)這種會出錯

RF 可以為参数设置默认值不提供參數,将会使用默认值

*** Test Cases ***
學生答題
	學生答題    B

*** Keywords ***
學生答題
	[Arguments]    ${option}=A
	log to console    ${option}
*** Keywords ***
Multiply Numbers
    [Arguments]    ${a}=2    ${b}=3
    ${product} =    Evaluate    ${a} * ${b}
    [Return]    ${product}
  • 创建一个名为 "CalculatorKeywords" 的关键字文件(例如:CalculatorKeywords.robot):
*** Settings ***
Library           OperatingSystem

*** Keywords ***
Add
    [Arguments]    ${a}    ${b}
    ${result} =    Evaluate    ${a} + ${b}
    [Return]    ${result}

Subtract
    [Arguments]    ${a}    ${b}
    ${result} =    Evaluate    ${a} - ${b}
    [Return]    ${result}

在这个例子中,我们定义了两个关键字:Add 和 Subtract,它们分别执行加法和减法操作。

  • 创建一个测试用例文件(例如:TestCalculator.robot):
*** Settings ***
Documentation    Example Test Cases for Calculator
Library          CalculatorKeywords

*** Test Cases ***
Addition Test
    ${sum} =    Add    5    3
    Should Be Equal As Integers    ${sum}    8

Subtraction Test
    ${diff} =    Subtract    10    4
    Should Be Equal As Integers    ${diff}    6

在这个测试用例文件中,我们首先导入了之前定义的 CalculatorKeywords 库

然后,我们编写了两个测试用例:Addition Test 和 Subtraction Test,它们分别调用了我们定义的关键字来执行加法和减法操作,

并且使用了 Should Be Equal As Integers 关键字来断言结果是否正确