How to learn Selenium WebDriver
By: Slav Kurochkin
If you just starting learn Selenium WebDriver here is how I did it. Hope it will help to avoid some mistakes I have done while my learning journey.
Before you start learning Selenium WebDriver, you would need to have some basic understanding of HTML and CSS, if you don't have than start from HTML and CSS: Design and Build Websites. I would say it is easy to follow up and get basics which will encourage you to learn more.
Then I would recommend to take Alan Richardson's course Selenium 2 WebDriver basics with Java, before you paying for the course I would recommend to register on Udemy and they usually send 75% off so you can start learning. Alan also have a book Java for testers so you can grab his book online.
Meanwhile you better grab a book Selenium WebDriver Cookbook by Unmesh Gundecha. You also can sign up to packtpub.com to get some discounts.
After all you definitely need start learning Java, Head First Java 2nd Edition is a great book to start from.
Even though the book written in 2005, you still can follow up with exercise, it is still relevant today.
Then if you want to extend your skills Tarun Kumar from http://www.seleniumtests.com/ Selenium Traininghave a nice course on youtube. Here is his 2nd session, first session you can skip since you already learned it from Alan Richardson.
Finally you will get to the point of creation Test Automation Framework, the best way to start from is conference speech "SFSE: Test Automation Framework Designs with Martin Lienhard". Martin explaining old way of developing frameworks using Selenium RC, but he is clearing stages and goals of the test automation framework development.
Once you finish with conference you can take Creating an Automated Testing Framework With Selenium by John Sonmez. Course is not in Java, but it is great to start from and see the paterns and start points.
Update: Recently I discovered another interesting resource Web Application Testing Using Selenium. Also there is one more interesting book Learning Selenium by Roy de Kleijn, it has parts of test automation framework design and mostly for the beginners.