Selenium Simplified - Automated Browser Testing With Selenium WebDriver Made Simple

Aug 17, 2013 - 3 minute read - Practices Selenium Simplified Blog WebDriver

Helper Classes for SlowLoadableComponent Page Objects

I generally caution against ‘Helper’ classes and Static Helper classes when I’m consulting for automation. e.g. PageObjectHelper, or ApplicationHelpers, or StringHelpers etc. Because ‘generally’, these ‘Helper’ objects mean “We created a class to dump stuff in because we couldn’t figure out how to model our abstraction layers” and often, people then dump more and more methods into them such that they become an undisorganized and unmaintainable mess. Just so you know where I’m coming from here.

Aug 17, 2013 - 2 minute read - Practices Selenium Simplified Blog WebDriver

A Fluent Page Object Approach - return this

Another simple tip, but I use this a lot. Return ‘this’ from your Page Object methods e.g. QueNessSlowLoadingExamplePage page4 = new QueNessSlowLoadingExamplePage(driver); page4.get(); page4. setName("Bob Dobbs"). setEmail(""). setMessage("Hello There"). sendMessage(); In the above code I have a Page Object called QueNessSlowLoadingExamplePage which handles this example over at And you can see that the setName, setEmail and setMessage are all ‘fluent’ in the sense that they return ‘this’ so I can chain them when using the Page Object.

Aug 16, 2013 - 2 minute read - FAQ Maven Selenium Simplified Blog

Maven Proxies and Troubleshooting 404 errors

Maven is one of those tricky little tools that I avoided moving to, because it looked a little complicated with its xml file and declarative nature, whereas with Ant it was nice and procedural and easy to understand. I’ve grown to appreciate how simple maven allows me to keep my project, and I often avoid libraries that don’t publish themselves as maven dependencies because then I have to manage them myself.

Jul 29, 2013 - 4 minute read - Courses Selenium Simplified Blog

Certificates of Completion Controversy

Udemy have started offering Certificates of Completion.But not for my courses. I opted out. Why? Well, I have some issues with the notion of certification which I blogged about a long time ago. But these are certificates of completion, not a certification! True. But… I don’t agree with the wording I don’t agree with the definition of completed I don’t agree with the use of the word ‘successfully’ I don’t like a facsimile of my signature being used without my permission I think it incentivises the wrong behaviour I will not devalue the course Udemy created the certificate, and I have no control or configuration over the wording of the certificate:

Jul 24, 2013 - 7 minute read - Practices Selenium Simplified Blog

How to write a keyword driven test framework - an historical perspective

I don’t really like keyword driven frameworks. For a whole bunch of reasons that I won’t go into now, since you came here to learn how to write them. Well, here’s the secret… This is old tech. Older than old. In fact, when I see it being promoted as ‘state of the art’ I’m amazed, and a little disappointed. The first book I read that relates to this was “Write your own adventure programs for your Microcomputer”, back in 1983, and it teaches the basics of how a keyword driven framework works.

Jul 18, 2013 - 3 minute read - Courses FAQ Java Selenium Simplified Blog WebDriver

What do Eclipse, JUnit, Maven, Ant, etc. do?

I periodically receive FAQ style questions. But I haven’t created an FAQ page… yet. Recently there have been an influx of people on the free “Start Using Selenium WebDriver With Java” course, and they are a little confused by the amount of software they install. Now the course does explain a little about what the software does when using them but the course hasn’t provided an overview… until now. The text summary follows below the video:

Jul 4, 2013 - 3 minute read - Selenium Simplified Blog WebDriver

SlowLoadableComponent and NoSuchElementException

When using SlowLoadableComponent we have to remember that in the Java Throwable hierarchy the Error and the Exception are siblings. This means that you have to catch exceptions in SlowLoadableComponents and convert them to Errors if you want to avoid bugs in your PageObjects. Note that this is a reminder to me because I forgot and spent 20 embarrassing minutes working out why my ‘load’ method wasn’t being called. Shame on me, as penance I write this post.

Jun 15, 2013 - 1 minute read - Conferences Selenium Simplified Blog

Selenium Conference 2013 Videos Available

I couldn’t attend Selenium Conference 2013 and I was too busy to watch the event streamed live. Fortunately, all the track sessions have been made available online. Updated 18/6/2013: You can also watch on YouTube I’m slowly working my way through the videos now. I also trawled through the #seconf twitter feed and found: Todd Edwards, @TriangleTodd made a great set of notes in Evernote on the conference talks which he has made public.

Jun 14, 2013 - 1 minute read - Java Selenium Simplified Blog

New Book "Java For Testers"

Most of the Selenium WebDriver work I do uses Java. When I wrote the “Selenium Simplified” book, I was trying to teach Java, at the same time as Selenium-RC. I decided that the next time I write a book I would be more focused, so I’ve just made public the fact that I’m writing a book called “Java For Testers”. You can find more details on the book web site’s and blog:

Apr 18, 2013 - 1 minute read - Conferences Selenium Simplified Blog Training Courses WebDriver

Selenium Clinic Eurostar 2012 Slides

For some reason I didn’t blog about releasing the slides from the “Selenium Clinic” a tutorial session that Simon Stewart and I presented at Eurostar 2012. I released the slides which were given to the tutorial attendees up on slideshare. Selenium Clinic Eurostar 2012 WebDriver Tutorial from eviltester I was a little nervous about this because of those 72 slides, 50 of them form part of my Online course and I put a lot of material, detail, time and energy into them.