Tuesday, 1 September 2009

An Introduction to Web Test Automation with Selenium and Ruby

An Introduction to Web Test Automation with Selenium and Ruby

As readers of this blog and other random ramblings of mine across the internet will know - for more than 8 months or so I’ve been working a lot with Selenium and Ruby. It’s been a joy and a pain at the same time. Beguiled by how easy the Selenium tools were to use I got started only to discover that they weren’t as accessible as they at first appeared. A definite case of ‘easy when you know how’.

It seems there are a good number of folks out there using the tools to varying degrees and different ways which unfortunately adds to the confusion. It confuses because most folks taking the first steps with the Selenium toolset soon hit their first issues which seems commonly to be how to set the toolset up, which language to employ and even how to get over the many gotcha’s that Selenium has waiting for us.

Trawling over the forums, not just the smaller community forums either but the ‘official’ forums too, was not that helpful overall. Perhaps that’s because I was intent on asking very specific questions and/or my focus was on using Ruby. Maybe if I just wanted to use Java or buy someone’s course I’d have had better luck. In any case the lack of answers to my and other’s questions where the questions were something less than trivial was frankly disappointing. That is disappointing in a way that I feel folks are purposefully withholding the knowledge they have. There is a possibility that no one really knows too, but over five of the most trafficked forums? I doubt that. As if to confirm my deluded suspicions I even managed to find someone I would have considered a ‘Selenium Expert’ posting that they’d stopped posting - because the forums were full of ‘problem posters’. Well, I hate to spring a shock fest on you but that’s kind of the idea of public forums most of the time. FFS, can you say ‘testing community’?

So where to turn to if I’m a Selenium newbie wanting a clear idea of how to go about setting my Selenium web test framework up? Hoping for insight into other people’s success spelt out to such a degree that I can follow it step by step or translate it into my environment? I could try the official docs at Selenium HQ but it’s hardly an idiots guide, as good as they are getting as they become more complete. Where’s the guided, instructional, friendly, tutorial and walkthrough with helpful pictures and handy hints? They’re rhetorical questions and the reasons I wrote “An Introduction to Web Test Automation with Selenium and Ruby”.

Is the book an answer to all problems and perspectives you might want answers for? Not a chance. This book is an introduction to not a definitive guide and that’s the point. It’s written so that within a week the reader has a fully working Selenium-Ruby automation framework up and running which includes key process techniques for managing how it’s used. The book covers the Selenium tools of the IDE, Remote Control and Grid, provides numerous examples of the Selenium-Client keywords and commands in use, introduces the Ruby language and techniques for designing automated test scripts, it walks through the creation of 10 key test script templates and discusses ideas on managing test suites and test environments.

An Introduction to Web Test Automation with Selenium and Ruby is the book I was looking for 8 months ago and that I’ve written to capture the learning I’ve experienced bringing the framework to life on it’s now multiple live deployments. It’s my attempt to help other’s avoid wasting time that they don’t have and which needs to be focused on delivering great testing. There’s a lot to learn and it’s insane to think every tester wanting to do so is scrabbling around on forums and sites trying to piece the bits together. This book is a vehicle to kick start a more open and robust form of discussion and sharing by others in the community. That discussion will be of critical value and importance as there are a myriad of ways to implement the Selenium tools and the testing community needs to hear what they are.

Book Proposal
Having got just 2/3 the way through writing the book I decided it was time to start sending out the draft manuscript and see what publishers make of it. The first to get site of the manuscript is www.pragprog.com and it should hopefully be reviewed this week. Let’s see what the feedback is. Once I know where things are headed I’ll check in and see what I’m ‘allowed’ to share in advance of any publication.

So please do me and the Selenium would-be test community a favour and go put the word out, An Introduction to Web Test Automation with Selenium and Ruby, is out looking for a publisher.