Skip to content
Chon Chung edited this page Sep 18, 2013 · 48 revisions

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](http://chon.techliminal.com/images/ajax_wait.png)](http://chon.techliminal.com/ajax_wait/)


Lesson 2: Page Object

Page Objects in Selenium 2 (WebDriver)





Teach WebDriver 2.0 best practices in 10 minutes

Our 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. Favor CSS selectors: Use ID, name, and CSS selector in 80% of the time
    
  4. Behavior Driven testing
    



WebDriver Testing Tools

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

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



Project Goals

Show and teach in 10 minutes (simple and effective)

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.)

Presentation should show the steps to learn, clearly explain concepts, and give tips for how to overcome the hurdles. 

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