Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Web Testing Box: Selenium WebDriver 2.0 Java best practices project.
Java JavaScript
branch: master


Web Testing Box logo

Web Testing Box: Selenium WebDriver best practices project.

This project shows Selenium WebDriver best practices; it is a minimalistic Selenium project that makes Selenium tools easy to learn and use, and it gets the job done.

It is currently written in Java. You are welcome to fork to other languages.

Lesson 1: Selenium 2 WebDriver Waits

Selenium 2.0 WebDriver AJAX Wait Presentation

Lesson 2: Page Object

Page Objects in Selenium 2 (WebDriver)

Teach WebDriver 2.0 best practices in 10 minutes

The project goal is to show each of the following best practices in 10 minues:

  1. WebDriver Wait: ImplicitWaits, WebDriverWait, and Ajax wait
  2. PageObject
  3. Use CSS selector
  4. Behavior Driven testing

WebDriver Testing Tools

Wish lists: Here are the tools I would like to add

  1. HTML5_Tool: helps to navigate, drag and drop, tests (events, json, data), and work with 3rd party JavaScript Unit testing library (such as Qunit).
  2. Excel tool for reading and writing testcases
  3. Take screenshot tool for errors
  4. File tool for reading the test setting properties.

Project Goals

  1. Show and teach a lesson in 10 minutes (simple and effective)
  2. Easy to learn and use – so even a tester with little programming background can use it (Java is a good language for web development, but it is not the popular web development solution compare to php or ruby. Because most Java web solutions are towards for enterprise applications (humongous, and require steep learning curve to learn).
    However our testing project is for an average tester not for a developer. So, let’s make easy, less technical but more practical for testing job done.)

  3. For advanced topics: just provide information links in the further reading section.


Inspired by the following projects:

Ben Burton’s
WebDriver presentation

Mark Collin's
Wait Method

Dave Justin’s
page object post

James Cox's
Using Page Objects

Something went wrong with that request. Please try again.