Read my book

I wrote books about Webpack and React. Check them out!

Friday, January 25, 2013

Book Review - Selenium Testing Tools Cookbook

Disclaimer: I received a digital review copy of this book from the publisher, Packt Publishing.

Selenium Testing Tools Cookbook by Unmesh Gundecha contains a massive amount of recipes. There are two digital bonus chapters even. It is clear this guy knows what he is talking about. The examples provided are comprehensive and straight to the point.

I didn't try out each example and skipped quite a few. That's the nature of cookbooks, though. Nobody expects you to go through each recipe. Apply and savor as needed.

Broad Selection of Recipes

The book starts out by describing how various selectors work in Selenium and then shows how you can use the API to mimic user actions. I wasn't particularly fond of the use of ids in various examples. I for one try to avoid those except in some quick hacks. Each to his own I guess.

There is information on more advanced concepts such as data-driven testing, performance testing, extending Selenium and HTML5 testing. I recommend checking out the full table of contents if you are interested in the exact topics covered.

Average Supplementary Material, No Highlighting 

I found it a bit disappointing that the supplementary material didn't contain the markup in which the book refers to. At times the examples referred to files at Dropbox. I don't think this is a particularly good strategy.

As an ebook reader I would have appreciated if the code examples would have been highlighted. I know it's a small thing but it makes a huge difference for code readability even though the examples were quite simple as-is.

Good Overview of Capabilities

To be honest I don't use Selenium a lot myself. The book actually gave me a better idea of its capabilities, though. While at it I found out there are some really nice bindings available for Node. These could come in handy one day.

Selenium is bound to be great for regression testing bigger services. Selenium Grid covered in an extra chapter in particular makes things easier as it allows you to run your tests through multiple browsers without any significant manual effort.

Conclusion

I wasn't entirely thrilled about the fact that most examples were based on Java. Fortunately the ideas are quite easy to transfer from platform to other. Besides there were times when examples were provided in multiple languages, perhaps excessively even.

Overall I was pleasantly surprised by the book. If you use Selenium actively you'll find this book invaluable. For others the value proposition is bit of so-so. You'll likely serve yourself better by picking up some other book aimed more towards beginners.