How to write multiple conditions of if-statement in Robot Framework How to write multiple conditions of if-statement in Robot Framework selenium selenium

How to write multiple conditions of if-statement in Robot Framework


You should use small caps "or" and "and" instead of OR and AND.

And beware also the spaces/tabs between keywords and arguments (you need at least two spaces).

Here is a code sample with your three keywords working fine:

Here is the file ts.txt:

  *** test cases ***  mytest    ${color} =  set variable  Red    Run Keyword If  '${color}' == 'Red'  log to console  \nexecuted with single condition    Run Keyword If  '${color}' == 'Red' or '${color}' == 'Blue' or '${color}' == 'Pink'  log to console  \nexecuted with multiple or    ${color} =  set variable  Blue    ${Size} =  set variable  Small    ${Simple} =  set variable  Simple    ${Design} =  set variable  Simple    Run Keyword If  '${color}' == 'Blue' and '${Size}' == 'Small' and '${Design}' != '${Simple}'  log to console  \nexecuted with multiple and    ${Size} =  set variable  XL    ${Design} =  set variable  Complicated    Run Keyword Unless  '${color}' == 'Black' or '${Size}' == 'Small' or '${Design}' == 'Simple'  log to console  \nexecuted with unless and multiple or

and here is what I get when I execute it:

$ pybot ts.txt==============================================================================Ts==============================================================================mytest                                                                .executed with single conditionexecuted with multiple orexecuted with unless and multiple ormytest                                                                | PASS |------------------------------------------------------------------------------


Just make sure put single space before and after "and" Keyword..


The below code worked fine:

Run Keyword if    '${value1}' \ \ == \ \ '${cost1}' \ and \ \ '${value2}' \ \ == \ \ 'cost2'    LOG    HELLO