Ramesh Babu M S
Ramesh Babu M S

Reputation: 37

Reuse of user keywords with multiple inputs

I'm trying to call same user keyword in different location using different inputs. How to do it?

*** Keywords ***
Enter the Server Name
    Wait until element is visible   ${ServerIPField}  ${Timeout}  "Input field not loaded"
    Log     "Input field loaded. Entering server name"
    Click element  ${ServerIPField}
    Input text  ${ServerIPField}   ${ServerDetails}
    Log   "Server name/IP ${ServerDetails} entered to the server name/ip field"

in the above code, ServerDetails field will have different inputs based on the usage locations (say i call this keyword in TC1 and then in TC3). I want to give different inputs for each test case.

Upvotes: 1

Views: 284

Answers (1)

Sameem
Sameem

Reputation: 849

Pass the variable ${ServerDetails} as argument to the keyword.

*** Test Cases ***
Test 1
    Enter the server name    ${server_1_details}

Test 2
    Enter the server name    ${server_2_details}

*** Keywords ***
Enter the Server Name

    [Arguments]    ${ServerDetails}

    Wait until element is visible   ${ServerIPField}  ${Timeout}  "Input field not loaded"
    Log     "Input field loaded. Entering server name"
    Click element  ${ServerIPField}
    Input text  ${ServerIPField}   ${ServerDetails}
    Log   "Server name/IP ${ServerDetails} entered to the server name/ip field"

For Test 1 the keyword Enter the server name is called with the value stored in ${server_1_details} and in Test 2 is called with the value stored in ${server_2_details}.

Upvotes: 4

Related Questions