Search This Blog

Thursday, July 9, 2015

Tool Comparision Matrix - QTP/UFT, Selenium, TestComplete

Tool Comparision Matrix



Feature QTP/UFT TestComplete Selenium
Language Support VB Script VBScript,
JSScript, DelphiScript,
C++Script and C#Script
Java, C#, Ruby, Python, Perl PHP , Javascript
Application Support A client server application Only (Web+Windows). It also supports add-ons, but user needs to purchase license for them. All of this included right out of the box there are no plug-ins or add-ons to buy. You can install Test Complete and immediately create any test against any application. Web Only, It will not support window apps
Cross Browser Testing Yes Yes Google Chrome , Internet Explorer , Firefox , Opera , Html Unit
API Testing Yes Yes Integrate with external tools
Web Service Testing Yes Yes No
Database Testing Yes Yes Yes
Web Load/Performance Testing No, Loadrunner separate tool Yes No
Mobile (Phones & Tablets) support Different commercial product i.e. HP UFT Mobile (formerly known as MobileCloud for QTP) Yes (ios,Android,Blackberry..) Selenium + Appium (blackberry is not possible)
Test Management No, need QC/ALM Yes, Built-in (QA Complete) No
Jira Integration No Yes Yes
Manual Testing via QC/ALM only Yes No
Separate Test Execution Module No, Must use QTP full install (HP is planning to release LeanFT, UFT 12.5 in month of Jul 2015 – there we can have separate test execution engine for less price) Yes – 399 $ Test Execute Float License No
Version Control Integration via QC/ALM only Yes No
Unit Testing Integration via QC/ALM only DUnit, JUnit, NUnit, MSTest Yes
Framework Supports multiple frameworks like Keyword Driven, hybrid driven, modular driven and BPT (ALM) Integrate with QA Complete,we can create keyword driven, data driven frameworks etc. Selenium + Eclipse + Maven / ANT + Jenkins / Hudson & its plugins / Cruise Control + TestNG + SVN
Object Recognition / Storage Inbuilt Object Repository NameSpace mapping UI Maps and different object location strategy such as -XPath Element ID or attribute DOM
Image based Tests Easily possible Yes Possible but not easy
Reports Quality Center has in-built awesome dashboards Yes Integration with Jenkins can give good reporting & dashboard capabilities
Software Cost Licensed and very
Expensive, Ten user license costs approx.
60L (8000 $ - 15000 $ approx varies from country to country)
Node Locked – Enterprise – 1999 $, Floating Enterprise – 4499$, Node locked Standard – 999$, Floating Standard – 2999$ It is open source. So, there's no licensing or renewal cost for this tool. It's free of cost.
Coding Experience of Engineer Not Much Programming background is highly recommended Should be very good along with technical capabilities of integrating different pieces of framework
Script Creation Time Less Less High
Hardware resource (CPU + RAM) consumption during script execution High Moderate Low
Product Support Dedicate HP support along with support forums Yes Open Source Community

Friday, July 3, 2015

Accessing Web Objects Using DOM Methods

ElementFromPoint Method

 
x=Browser("name:=Google").Page("title:=Google").WebEdit("name:=q").GetROProperty("x")  
y=Browser("name:=Google").Page("title:=Google").WebEdit("name:=q").GetROProperty("y")  
Browser("name:=Google").Page("title:=Google").Object.elementFromPoint(x,y).Value="QTP" 'Sets value in web edit using coordinates  

GetElementsByTagName Method

Set obj= Browser("name:=Google").Page("title:=Google").Object.getElementsByTagName("INPUT")  
inCount=obj.Length-1  
For i=0 to inCount  
   If obj(i).Name="q" and obj(i).Type="text" Then  
    Browser("name:=Google").Page("title:=Google").Object.getElementsByTagName("INPUT")(i).Value="QTP"        'Sets   value in web edit using tag name.  
   End If  
Next  

GetElementsByName Method:

Set obj= Browser("name:=Google").Page("title:=Google").Object.getElementsByTagName("INPUT")  
inCount=obj.Length-1  
For i=0 to inCount  
  If obj(i).Name="q" and obj(i).Type="text" Then  
   Browser("name:=Google").Page("title:=Google").Object.getElementsByName(obj(i).Name)(0).Value="QTP" 'Sets  value in web edit using element's name.  
   End If  
Next  

GetElementByID Method: 

1.Browser("name:=Google").Page("title:=Google").Object.getElementByID("XXXX").Value="QTP" 'Sets value in web edit using element's ID  

Verifying Child Object Existence Using Contains Method: 

1.Set objWebEdit=Browser("name:=Google").Page("title:=Google").WebEdit("name:=q").Object  
2.msgbox Browser("name:=Google").Page("title:=Google").webTable("index:=0").Object.contains(objWebEdit)'If the webtable contains the specified child object, then Contains method will return True. 

Mouse Hover Register User Function

'******************************************************
Function Hover(obj)
  x = obj.getroproperty("abs_x") + (obj.getroproperty("width"))/2
  y = obj.getroproperty("abs_y") + (obj.getroproperty("height"))/2
  Set devicereplay = CreateObject("Mercury.devicereplay")
  devicereplay.MouseMove x, y
  Set devicereplay = Nothing
  Wait 1
End Function

'******************************************************
Registeruserfunc "Link", "Hover", "Hover" 

'******************************************************

List of features & enhancements to UFT 12.5

Here below are the list of features & enhancements to UFT 12.5 :
ØCross-Browser Testing:
                HP enhanced chrome recording ability and also we can use one script that works against IE, Firefox, Safari, Chrome
                Provided an option to select browser to run
                Receive single report that shows the results of all the test executions against all the different browsers
ØUFT Runtime Engine:
                This is a separate installation piece now, which allows users to easily deploy test scripts to other machines (includes new license type)
ØUsability:
                Light-weight  and HTML based report feature. Now we can share results without needing to have results viewer installed
ØIntegration & Technologies:
                HP has added functionality that allows users to integrate with source-control tools like Git and Subversion
ØFlexible Consumption: UFT License + Lean FT License + UFT Runtime Engine License
                When you buy the UFT bundle you’re getting both the UFT and LeanFT licenses. (This applies if you already have an existing Unified Functional Testing license.) We can decide which flavor we want to       use to create test scripts. We can mix and match. We can also install both UFT and LeanFT on the same machine.
ØMobile:
                We can use the UFT SPY and highlight on mobile user interfaces. There is also a run mobile test option using UFT Jenkins plugin.