Monday, 21 September 2009

Automated Functional Testing tools, QTP V's Selenium

Hi all, been away for a bit, so apologies. At nFocus we've been using selenium for a while now and I've always been interested in what the uptake might be in the coming weeks/months/years. As with all these tools, there are always pros and cons and the real winner often depends on the individual requirements for an automated tool. It's difficult therefore to produce a generic, objective comparison between two tools, so, when I came across this blog entry, I was suitably impressed : "QTP Vs Selenium"

What is interesting about this is that QTP wins in some situations and Selenium in others for example Selenium supports a better range of OS/platforms due to is Java nature, whereas QTP wins on its breadth of applications supported (Selenium just does Web Browser based apps).

As a personal preference, I would choose Selenium for any web based application and love the fact that with my breakthrough on the Axe/Selenium integration some of the shortcommings of Selenium are overcome by using Axe. By way of an example :

"Selenium recognizes objects on the basis of the DOM structure of the HTML Page. The UI objects in selenium have vague descriptions and don't comply with WYSWYG policy."

Axe has an ObjectMap spreadsheet where you can abstract the logical object names away from the physical recognition strings, thus the user is given the ability to use friendly object names.

1 comment:

Peter Marshall said...

I guess that this initial investment in getting selenium up and running is one of the big differences between QTP and selenium. QTP provides a ready to use integrated automated test package that allows you to drive your scripts through relatively simple keyword frameworks.
Selenium, however, requires you to build these data driving components. This is not difficult though. The AXE example is a really interesting example and something I need to check out further. I've built something similar in c# using the FileHelpers library from Devoo solutions. Its opensource and allows you to very easily build data maps and drive selenium through a keyword driven framework. The flexibility that Selenium offers over QTP is one of the big reasons why I have started to work with it more and more. Being able to bring together solutions like Nlog, NUnit, Selenium RC, and FileHelpers makes testing so much more fun and interesting.