Search code examples
htmlseleniumtestingtddrobotframework

Robot framework, how to check class


Is there a keyword in Robot Framework to ensure element has a certain class? Something like

Element should has class element className

Alternatively, I could check if element has a certain attribute with certain value. Former would be more suitable though, as element may contain multiple classes.


Solution

  • You could create a new keyword via XPath selectors:

    Element should have class
        [Arguments]  ${element}  ${className}
        Wait until page contains element  ${element}[contains(@class, '${className}')]
    

    Or via CSS selectors:

    Element should have class
        [Arguments]  ${element}  ${className}
        Wait until page contains element  ${element}.${className}
    

    Wait until page contains element could be replaced by any keyword of your liking to check if the element exists and is visible, such as Element should be visible.