TesterHQ - The Evil Tester Blog Aggregator

Aug 22, 2013 - 1 minute read - Java For Testers Maven

Maven Troubleshooting FAQs and Tips

We use Maven in the Java For Testers book. Once you have Maven running it tends to work fine. You mainly experience problems when you initially install it, at the point when you know how to nothing with Maven. I listed the main steps and actions I take in a pdf which I released to Slideshare and Google Docs. Tips are: Debug maven issues from the command line, not from the IDE Read the Error Messages Work through “Maven in 5 Minutes” Compile without running the tests Try and download manually Set the proxy settings Read the official FAQs Find more hints and tips lists Force an update of the dependencies Delete your local repository cache Force a purge of the local repository Look at the effective pom and settings Use the dependency tree view Experiment and try and fix it yourself Nothing Earth shattering there.

Aug 22, 2013 - 1 minute read - FAQ Maven Selenium Simplified Blog

Maven Troubleshooting Tips and FAQs

I’ve released a lot of videos showing how to get started with Maven and Selenium. They tend to help people see that the actions are possible, but if they run across an individual issue for their environment they may not know exactly what to do. On my Selenium WebDriver course I had a list of Maven Troubleshooting Hints and Tips. I’ve just released that to Slideshare as a pdf. Pretty simple stuff, but I’ve had to do all of these.

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("b.dobbs@mailinator.com"). setMessage("Hello There"). sendMessage(); In the above code I have a Page Object called QueNessSlowLoadingExamplePage which handles this example over at QueNess.com 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 23, 2013 - 5 minute read - Evil Tester Rants Technical Testing Techniques

Don't go live with simple security problems - 10 tips to help

I feel anger when I stumble across very, very, very simple security issues. Especially when they compromise my data. Yes I do. And I hope, as a tester, that you do too. But I face a problem… As a tester, I can’t say “Did no-one test this!” because I know that they might have done, and someone else might have chosen to go live anyway. But on the off chance that no-one did ‘test this’, I offer you this post.

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.