Saturday, June 4, 2011

QTP vs Selenium 1.0

QTP vs Selenium 1.0

1. Licence type
QTP - Commercial software (Concurrent and per user licence)
Selenium - Open source.

2. Software size
QTP - Around 1.5GB
Selenium - Set of Libraries, around 20MB (Need to include other supporting software)

3. Software Support
QTP - From HP
Selenium -, Element34 , Commercial Support

4. Identifying objects.
QTP -  Object properties, Repository objects
Selenium - Object properties, xPath, CSS, DOM

5. Spying object
Selenium - There is no option, can record script in Selenium IDE, can spy objects using IE developer tool bar, FireBug and also using

6. Scripting language
QTP - VB Script
Selenium - Any language HTTP library (Java, C#, Python, Ruby...)

7. Environment.
QTP - Windows
Selenium - Windows, OS X, Linux, Solaris...

8. Browsers supported
QTP - IE, Firefox (Run scripts)
Selenium - IE, Firefox, Safari, Opera (selenium 2: Chrome, Android, iPhone)

9. Architecture
QTP - Not known, It makes tight integration with IE browser using Windows API's.
Selenium - It can be written in any language that support HTTP library, corresponding language bindings are sent to Selenium RC designed on Jetty, RC launch the browser by injecting the "BrowserBot" JavaScript into the browser. Screen operation are performed by the "BrowserBot" by communicating with RC using XMLHttp request.

10. Limitations (I mean automation is not possible)
QTP -  As per my understanding nil (I don't want to mention about the Number precision, Text length...)
Selenium - File upload/download, Model dialog ... How to over come these limitations select links?

11. Mapping objects
QTP - Browser.Page.Object.Method for each step.
Selenium - Directly execute methods.
12. Debugging code
QTP - Yes
Selenium - No

13. Control Opened browsers
QTP - Yes (Opened after QTP program)
Selenium - No (Session information is lost) QTP, Selenium interact with the browser differently.

14. Supporting Applications
QTP - Web applications, SAP, Activex, VB, Windows...(Support provided using Addins)
Selenium - Only Web application.

15. As performance testing tool
QTP - No, you can run one QTP application in one CPU.
Selenium - It can open many many browsers using GRID, many companies line PushToTest, BrowserMob, Gomez use selenium technology for running load test.

16. Current Version
QTP - 11
Selenium - 1.0 (2.0 in Beta) Selenium 1.0 vs Selenium 2.0

17. Object not found
QTP - It will wait till the timeout happen.
Selenium - If browser status is Done, it will through exception. In some cases it will wait for time out. I did like this feature.

18. Execute JavaScript
QTP - No (Not required, you can get entire page info directly from QTP)
Selenium - Yes

19. Access page DOM
QTP - Yes
Selenium - Yes

20. Flex objects
QTP - Yes
Selenium - Yes  Selenium Flex

21. Scripting complexity
QTP - Simple, easy to access the file system, Excel. But programming knowledge.
Selenium - Complex. Need to understand Java class, interface and testing framework. Need to know following items for full fledge implementation. You are getting it free entirely, can't you put extra efforts?

22. Cost
QTP - 9K USD per user (Approx) + Annual maintenance charges.
Selenium - FREE (Any number of users...)

23. IDE
Selenium - Any IDE (I prefer Eclipse)

24. Flavors
QTP - Just QTP
Selenium - Selenium core, Selenium IDE, Selenium RC, Selenium GRID, Selenium 2.0 (Webdriver)

25. Extendability
QTP - No
Selenium - Yes, you can customize and implement for new browsers.

26. Exception Handling
QTP - Need to handle manually. Using .Exist, On error resume next, recovery scenarios. Script would stop in the middle by throwing run-time error if not handled properly.
Selenium - Handled automatically when used with TestNG, it will automatically move to next test case.

27. Reporting and Assertions(Checkpoints)
QTP - Reporting and checkpoints are built in the same package.
Selenium - Need to depend on testing frameworks like TestNG or Junit.

Your Choice Now ?


1 comment:

  1. Hi Bharath

    Good article about QTP vs Selenium 1.0 .