Skip to main content

Alan Richardson

Compendium Developments

Alan Richardson has more than twenty years of professional IT experience, working as a programmer and at every level of the testing hierarchy—from tester through head of testing. Author of the books Selenium Simplified and Java For Testers, Alan also has created online training courses to help people learn technical web testing and Selenium WebDriver with Java. He now works as an independent consultant, helping companies improve their use of automation, agile, and exploratory technical testing. Alan posts his writing and training videos on,,, and

Speaker Presentations
Monday, October 13, 2014 - 8:30am
Full-day Tutorials
Introduction to Selenium and WebDriver

Selenium is an open source automation tool for test driving browser-based applications. WebDriver, the newly-introduced API for Selenium against which tests are written in Java, contains classes including ChromeDriver, AndroidDriver, and iPhoneDriver. Sometimes test authors find the API daunting and their initial automation code brittle and poorly structured. In this introduction, Alan Richardson provides hints and tips gained from his years of experience both using WebDriver and helping others improve their use of the tool. Alan starts at the beginning, explaining the basic WebDriver API capabilities—simple interrogation and navigation—and then moves on to synchronization strategies and working with AJAX applications. He covers tools and location strategies to find elements on web pages using CSS and XPath. Alan provides an introduction to abstraction approaches which help you build robust, reliable, and maintainable automation suites.

Hands-on exercises require a laptop computer with Firefox, Firebug, and Firepath installed. You will write code! Coding exercises require an IDE (IntelliJ), Java SDK, and Maven. Prior to the session, follow the Getting Started Guide at Come ready to learn.

Thursday, October 16, 2014 - 11:15am
Test Automation
Automation Abstractions: Page Objects and Beyond

When you start writing automation for your projects, you quickly realize that you need to organize and design the code. You will write far more than “test” code; you also will write abstraction code because you want to make tests easier to read and maintain. But how do you design all this code? How do you organize and structure it? Should you use a domain specific language? Should you go keyword driven or use Gherkin? Should you use page objects with POJO or Factories? Do you create DOM level abstractions? Where do domain models fit in? Alan Richardson provides an overview of options available to you when modeling abstraction layers. Based on his experience with many approaches on real-world commercial projects, Alan helps you understand how to think about the modeling of abstraction layers. Illustrated with a number of code examples, Alan shows you a variety of approaches and discusses the pros and cons associated with each.