Search code examples
automationrobotframework

Unable to input card number using "Input Text" keyword of Robot Framework


I am new to Robot Framework. While entering the card number in the card-number text field only the first 4 digits are getting entered. To enter the rest of the digits I have to use the "Input Text" Keyword again with next 4 digits. With Java/Python we have options like sendkeys and Action sendkeys. But with Robot Framework's SeleniumLibrary I could not find anything else than Input Text.

Currently the workaround I am using is:

Make Payment
   [Documentation]    Enter the card details and make payment
   Click Element    ${PAY_WITH_CARD_BUTTON}
   Sleep    1
   Select Frame    ${FRAME}
   Input Text    ${EMAIL_FIELD}    ${email}
   Input Text    ${CARD_NUMBER_FIELD}    4242
   Input Text    ${CARD_NUMBER_FIELD}    4242    clear=False

Is there any way that I can enter it at one go? The website on which I am trying is: https://weathershopper.pythonanywhere.com/


Solution

  • Thanks for posting your workaround as I did not find another solution either. In my case Input Text did not work and I had to use Press Keys to input card number and also to move to the card holder field within the same iframe. Not an elegant solution but so far it is the only one.

    Select Frame    ${PMT_IFRAME}
    Press Keys      ${CARD_FIELD}    4111111111111111
    Press Keys      ${CARD_FIELD}    TAB    Robot${SPACE}Framework
    Unselect Frame
    Click Element   ${ACCEPT_POLICY}