Do you want to learn the ins-and-outs of Selenium WebDriver? If so, you should definitely check out Selenium WebDriver Practical Guide: Interactively Automate Web Applications Using Selenium WebDriver by Satya Avasarala (Packet Publishing).
What the Selenium WebDriver Practical Guide covers
This guide was written to help test engineers that already have some basic Java experience increase their mastery of Selenium WebDriver. The book is broken up into ten main chapters covering:
- Introduction of WebDriver and WebElements
- Advanced WebDriver interactions
- Exploring the features of WebDriver
- Different WebDrivers
- WebDriver events
- Handling I/O
- RemoteWebDriver & WebDriverBackedSelenium
- Selenium Grid
- Understanding the PageObject pattern
- Testing iOs and Android apps
My Thoughts on The Selenium WebDriver Practical Guide
The author uses an interesting approach with most of his Selenium code examples by using small working code running directly in a Java main class. This allows the reader to easily follow along and try out each code example without having to create a bunch of classes and methods to get an example to run in his or her IDE. I felt like this approach really helped me focus solely on the WebDriver functionality the author was explaining without being distracted by anything else.
I have a feeling that some people will love this approach, and others will hate it. For learning purposes, I really liked this teaching method, but be aware that this is not the way one would ultimately write test automation scripts.
I also like how this book shows how to deal with various file-handling situations like reading, deleting, copying files and directories that one may encounter when creating test cases for automation tests.
My favorite part of the Selenium WebDriver Guide was the chapter on understanding the PageObject pattern. If you want your tests to be maintainable and reusable, using PageObject in your automation framework is a must. The author uses an example of how to go about automating different functionality for WordPress blog application.
The examples start by running everything in main, and the author shows how to refactor out the code using the PageObject pattern. By the end of the chapter, readers should have a clearer understanding of how to use PageObject in their own automation framework.
The verdict on The Selenium WebDriver Practical Guidebook
Overall, I think this is a solid book on using Java to learn the different parts of Selenium Webdriver; however, it doesn’t cover topics such as using any xUnit test runners like JUnit or TestNG, which real-world selenium automation scripts will use. While this is not a definitive book on Selenium, it is a nice guide to have on your bookshelf.
Note: I received a free copy of this book from Packt Publishing