Rich user experiences with HTML5 applications can cause some difficulties for teams trying to get solid user interface (UI) testing around their apps. Interacting with video or audio elements is often troublesome, and the manipulations of a web page’s document object model (DOM) on the fly via asynchronous alterations causes automation frameworks (and automaters!) endless grief in the attempt to get subtle timing issues stabilized.
My advice: DO NOT EVER rely on execution delays, manual pauses, or Thread.Sleep() to handle your tests’ timing issues. Ever. Period. Instead, figure out exactly what condition you need to move forward with your test, then create an explicit wait for that condition. This is a rock-solid pattern that works in nearly every situation.
Here’s a practical example for you using Telerik’s neat demo of our RadComboBox.
Automated testing for dynamic web applications and AJAX-enabled sites made easy – take a look at the Test Studio platform and see how easy it is to use and integrate with RadControls for ASP.NET AJAX or any other web components.