The vast majority of problems found in web-based functional tests can be traced to a few common issues—dealing with dynamic page content, understanding the differences between explicit and implicit waits, choosing a proper element locator strategy, and understanding how to deal with setup or prerequisite data. Jim Holmes describes the basics of dynamic web page content (AJAX calls and the infamous spinning wheels and buttons) and how to create automated tests that properly deal with the main variants of dynamic content. Learn the importance of choosing proper element locators for your tests and the impacts of the various options. Discover effective approaches for building and using setup data for your tests—saving time and effort. We’ll use WebDriver for examples and demos in C#, but we’ll discuss how these solutions are applicable to other technologies as well. Take away proven methods for ensuring your functional web tests are more robust, accurate, and maintainable.