Search code examples
automated-testsintegration-testingrobotframework

How to use RobotFramework to choose date from datepicker


I want to write script test frontend by RobotFramework but I don't know how to choose a date in Datepicker calendar by RobotFramework.


Solution

  • To choose date on datepicker create following keywords:

    Select Datepicker Date
        [Documentation]     Select given day from datepicker
        [Arguments]     ${dateElem}     ${expectedMonthYear}    ${clickElement}
        Input Text  ${dateElem}    ${Empty}    # open the datepicker
        ${monthyear}=   Get Datepicker MonthYear
        :FOR    ${Index}    IN RANGE    1   31
        \   Run Keyword If  '${monthyear}' == '${expectedMonthYear}'   Exit For Loop
        \   Click Link    //*/div[@id='ui-datepicker-div']//*/a[contains(@class, 'ui-datepicker-prev')]
        \   ${monthyear}=   Get Datepicker MonthYear
        Click Link    ${clickElement}
    
    Get Datepicker MonthYear
        [Documentation]     Return current month + year from datepicker
        [Return]    ${monthyear}
        ${month}=   Get Element Text  //*/div[@id='ui-datepicker-div']//*/div[@class='ui-datepicker-title']/span[@class='ui-datepicker-month']
        ${year}=    Get Element Text  //*/div[@id='ui-datepicker-div']//*/div[@class='ui-datepicker-title']/span[@class='ui-datepicker-year']
        ${monthyear}=   Catenate    ${month}  ${year}
    

    And then use Select Datepicker Date keyword with required arguments in your Test Cases.