Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mix keyword-driven testing and data-driven testing in one robot file

Is it possible to mix keyword-driven testing and data-driven testing in one robot file? I don't know how to put those two pieces together. And I need it in only ONE robot file.

An example of data-driven testing:

*** Settings ***
Test Template       Invalid Login

*** Test Cases ***  USERNAME            PASSWORD
Invalid Username    invalid             ${VALID PASSWORD}
Invalid Password    ${VALID USERNAME}   invalid
Invalid Both        invalid             invalid
Empty Username      ${EMPTY}            ${VALID PASSWORD}
Empty Password      ${VALID USERNAME}   ${EMPTY}
Empty Both          ${EMPTY}            ${EMPTY}

*** Keywords ***
Invalid Login
  [Arguments]   ${username}   ${password}
  Input Username    ${username}
  Input Password    ${password}
  Submit Credentials
  Error Page Should Be Open

How to use keywords of my keyword-driven test here?

like image 232
kame Avatar asked Dec 08 '25 05:12

kame


1 Answers

Remove Test Template from Settings section.

Add test case with [Template] directive:

*** Test Cases ***
Invalid Password
    [Template]    Invalid Login
    invalid          ${VALID PASSWORD}
    ${VALID USER}    invalid
    invalid          whatever
    ${EMPTY}         ${VALID PASSWORD}
    ${VALID USER}    ${EMPTY}
    ${EMPTY}         ${EMPTY}

*** Keywords ***
Invalid Login
  [Arguments]   ${username}   ${password}
  Input Username    ${username}
  Input Password    ${password}
  Submit Credentials
  Error Page Should Be Open

For more info refer to documentation: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-templates

like image 80
soyacz Avatar answered Dec 15 '25 14:12

soyacz