TesterHQ - The Evil Tester Blog Aggregator

Sep 11, 2013 - 2 minute read - Evil Tester Technical Testing

How to Turn on and off JavaScript in Firefox

Whoa, I turn my back for a couple of months and Mozilla remove the option to switch off JavaScript in Firefox. Short version: Install QuickJava or type “about:config” as the URL then search for “javascript.enabled” We spent a good 5 or 10 minutes thinking we were crazy. “I’m sure the option used to live here…” As ever, Google came to the rescue.. Why did Mozilla do this? Because of “Checkboxes that kill your product”.

Sep 6, 2013 - 5 minute read - Evil Tester Exploratory Testing

10 Experiments to Improve Your Exploratory Testing Note Taking

I have some ‘rules’ that I apply when I take notes as I perform exploratory testing. When I look back over how I took notes in the past I can see that I tried different experiments with my approach when building those ‘rules’. I recommend some of my experiments to you now: In Memory Only use pen and paper Only use a text editor Use a text editor and screenshot tool Record the screen and talk as you test Use a tool designed for exploratory testing Use a Mind Map Draw a diagram Automate the capture of logs Use a Spreadsheet 1 - In Memory Only use your memory to track your exploratory testing.

Aug 30, 2013 - 2 minute read - Selenium Simplified Blog WebDriver

Alternative Uses for GhostDriver and Headless Browser testing

I’ve been using GhostDriver recently. I could never get along with HTTPUnit driver, it so rarely worked for me. But GhostDriver has been magnificent. Whenever I want to do any headless browser testing I use GhostDriver. I blogged about my use of GhostDriver to test www to mobile site redirection, over on eviltester.com. I’ve also been using it as part of a “Tester’s Link Checker” I’ve been experimenting with. I use it because it is easy to add to my project.

Aug 30, 2013 - 1 minute read - FAQ Firefox Java Selenium Simplified Blog WebDriver

FAQ: Why has my Firefox Selenium WebDriver Browser Not Closed

A few FAQs come up on the Start Selenium Simplified course. When they do, it usually means that I haven’t done a good enough job of making the answer visible the first time I address it. One that crops up a lot is “Why is my browser not closing?” Because WebDriver has two methods:  .close .quit The documentation for .close says that it will close the browser if it is the last window that is closed.

Aug 30, 2013 - 1 minute read - FAQ Java Selenium Simplified Blog

FAQ: Why are my JUnit asserts showing as deprecated

I tend to use Hamcrest’s AssertThat now, but I still write Assert in some of my example code. JUnit has a tendency to move code around, but it deprecates the old code, and there is usually a comment in the JUnit code somewhere explaining what to use instead. But a common question on the Start Selenium WebDriver course relates to “Why are my asserts deprecated” and its usually because JUnit codebase has changed.

Aug 30, 2013 - 4 minute read - Evil Tester Exploratory Testing Technical Testing

How would you check that a www web site redirects to a mobile site?

Normally I add my automation posts to SeleniumSimplified.com but this particular case study demonstrates how I think about testing and incorporate automation into my test approach. The scenario you face as a tester: You have a main web site www.eviltester.com You have a new mobile site m.eviltester.com You have a set of redirection rules that take you from www to m. based on the device And the device is identified by the user-agent header string e.

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.