WPM Recorder 2.2.1.426
I've been wrestling with transaction recordings and javascript content validation. On one hand, X,Y Capture Mode causes problems when elements move around the page after a style update. On the other hand, normal recordings do not trigger content entry events as if a user had actually typed or used the mouse. But without X,Y Capture Mode, the AngularJS login validation kept saying the fields were untouched and rejected the login.
So how did I fix it so AngularJS sees the required fields as "touched" and yet minimize my X,Y Capture Mode?
- Load the page
- Check for text
- Enter the username without the last character
- Enter the password without the last character
- Enable X,Y Capture Mode
- Click in the upper left corner of the page (near 1,1 coordinate) or whatever empty/unused spot is nearest the upper left corner of your page. Since this coordinate should always exist, regardless of window size availability, I avoid chasing around "moving boxes" when branding and styles change.
- Press {Tab} to access the Username field, press {End} to go to the end of the field, type the last character of the Username. This will trigger the "touched" event in JavaScript.
- Press {Tab} to access the Password field, press {End} to go to the end of the field, type the last character of the Password. This will trigger the "touched" event in JavaScript.
- Disable X,Y Capture Mode
- Press {Enter} to submit the form
- Keep going with the rest of the recording as normal
If necessary, adjust the number of tabs to reach your username and password fields.
This removes the X,Y dependency of the input fields from the equation, and minimizes the amount of keystrokes captured in X,Y mode. I wrestled with this a long time, kept trying different variations to enable / disable the X,Y Capture Mode before, during, and after text entry, so when I finally found one that works and doesn't require the X,Y coordinates of input fields, I figure there might be others wrestling with this issue too. Let me know if it helps you.