Search code examples
seleniumautomated-testsrobotframework

How to ignore Get Table Text from Cell, if xpath of cell not match


How to ignore Get Table Text from Cell, if xpath of cell not match? Becuase i want my test case still continues testing.

 ${tableFinal}    Set Variable   xpath=/html/body/div[2]/div[3]/div/form/table[3]
 ${totalPayAmount}      Get Table Text from Cell     ${tableFinal}         1   2

Solution

  • Using either Run Keyword And Continue On Failure or Run Keyword And Ignore Error can help with this. In the documentation the entire family of Run Keyword .... keywords.

    The difference between the two is that one just returns the value, whereas the other also provides the status of the Keyword execution.

    *** Test Cases ***
    Test Case
        ${CoF_Pass_1}    Run Keyword And Continue On Failure    KW Pass
        ${CoF_Fail}      Run Keyword And Continue On Failure    KW Fail
        ${CoF_Pass_2}    Run Keyword And Continue On Failure    KW Pass
    
        ${IE_Pass_1}    Run Keyword And Ignore Error    KW Pass
        ${IE_Fail}      Run Keyword And Ignore Error    KW Fail
        ${IE_Pass_2}    Run Keyword And Ignore Error    KW Pass 
    
    *** Keywords ***
    KW Pass
        [Return]    SomeRandomValue
    KW Fail
        Fail    SomeFaileMessage
    

    This then results into:

    Starting test: Test Case
    INFO : ${CoF_Pass_1} = SomeRandomValue
    FAIL : SomeFaileMessage
    INFO : ${CoF_Fail} = None
    INFO : ${CoF_Pass_2} = SomeRandomValue
    INFO : ${IE_Pass_1} = ('PASS', u'SomeRandomValue')
    FAIL : SomeFaileMessage
    INFO : ${IE_Fail} = ('FAIL', u'SomeFaileMessage')
    INFO : ${IE_Pass_2} = ('PASS', u'SomeRandomValue')
    Ending test: Test Case