Reputation: 37
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
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