/wtbox

Web Testing Box: Selenium WebDriver 2.0 Java best practices project.

Primary LanguageJava

wtbox

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.

Credits

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