Posted: 31 Jan 2018 10:36 EST Last activity: 8 Feb 2018 9:13 EST
Strange interaction when trying to fill a Web Application's text box?
I am extremely new to the robotics studio, but also really excited to be working with it! Please bear with me if the following question is silly.
I seem to be having an issue when I try to fill text boxes with login data on certain sites. The data appears to fill correctly and press the Next/Login button (depending on the site), but fails as the info entered seems to be placed underneath any prompt text in the text field. I have included pictures of an example from the following site: https://login.microsoftonline.com
I have ensured that I have interrogated, what I believe, are the right objects on the site, even using the HTML tag interrogation method to make sure I select the box's input field. It is only until I manually input a keystroke into the text box that the prompt text disappears like normal, leaving my input. Hitting the next button then proceeds to the next login step correctly.
I don't experience this issue on every site, but have replicated it on sites similar to the example, like Gmail's login page. As a result, I have come to the conclusion that I am doing something wrong, so I hope someone can help me!
You may need to use 'SendKeys' method to pass the values to the text boxes, instead of merely passing by connecting the data points. Some text boxes (especially login forms) are designed to accept only manual keystrokes and not copy/paste. Using SendKeys method would likely solve this.
SendKeys is not generally available in Web Applications. The problem you are experiencing is due to the way the application is coded. It is most likely expecting an event to be raised for it to recognize that there is text in the box. Using IE developer tools you can sometimes see what event listeners are present on the control and sometimes this requires a little experimentation. You raise the event using the RaiseEvent method on the appropriate control. Often one of these events will help the application recognize the text - onBlur, onChange, onKeyDown, onMouseDown. You may have to use multiple events in the proper sequence at times.