The Web App I run RF against was on the same server has been moved to a VM and I have to run it over the network (a busy network). This seems to have an impact and I’m getting a few stale element exception errs and unable to locate IDs. I’ve created a keyword called “Wait For Page Load” which is essentially just calling a couple of sleeps to allow the app to settle so the html is available. I know this is a bit buff but is quite effective. Anything else I should be doing. Thanks.
From my experience I would say that it’s matter of working with stable states. Treat every action as transition between two states. Before taking any action wait until application is stable i.e. no spinners, progress bars and animations.
If you are running with Selenium, try out seleniumtestability - it has some mechanisms to try to enforce that the SUT is in state that nothing is loading/all crucial animations are done and so forth …