qtp/uft vs. selenium
TRANSCRIPT
![Page 1: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/1.jpg)
QTP to Selenium Migration
By Tarun Lalwani
![Page 2: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/2.jpg)
About TARLABS© Pvt Ltd
| Specialize in implementing automation using QTP and Selenium
| Expertise in QTP to Selenium Migration
| Other services we offer| Data scraping and Crawling
| Automation using API
| Custom Process/Task Automation
![Page 3: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/3.jpg)
About the Speaker
| Author of 3 best selling books on QTP| QuickTest Professional Unplugged, 2nd Ed
| QTP/UFT Interview Unplugged, 2nd Ed
| QTP Descriptive Programming Unplugged
| 12+ yrs of experience in Testing Automation
| Director/Founder at TARLABS© Pvt. Ltd. (www.tarlabs.com)
| Blogger and founder of www.KnowledgeInbox.com
![Page 4: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/4.jpg)
Agenda
| Introduction to QTP and Selenium
| Differences between QTP and Selenium
| Migration to Selenium
| Benefits
| Challenges
| Q&A
![Page 5: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/5.jpg)
What is QTP/UFT?
| QTP/UFT is UI + Backend Services test automation tool
| QTP was earlier developed by Mercury which got acquired by HP in 2006
| QTP a.k.a. QuickTest professional is now called as UFT a.k.a. Unified Functional Testing
| QTP is a desktop based application
![Page 6: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/6.jpg)
What is Selenium?
| Selenium is a Web browser automation API
| Selenium is a open source project with 108+ contributors
| Selenium has become one of the preferred choice for Web and mobile automation
![Page 7: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/7.jpg)
QTP v/s Selenium (AUT Technologies)
![Page 8: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/8.jpg)
QTP v/s Selenium (Operating Systems)
![Page 9: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/9.jpg)
QTP v/s Selenium (Languages)
![Page 10: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/10.jpg)
QTP v/s Selenium (Browsers)
![Page 11: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/11.jpg)
QTP v/s Selenium (Cloud Execution)
• One test per machine• Windows VMs are costly• Higher setup and maintenance time
• Multiple & Simultaneous test per machine• Linux VMs are cheap• Medium setup and maintenance time• Cloud testing providers available (like SauceLabs)
![Page 12: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/12.jpg)
QTP v/s Selenium (License Cost)
Customers using BPT framework end up paying license cost of ALM, BPT and UFT
![Page 13: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/13.jpg)
QTP v/s Selenium (Trends)
QTPSelenium
Google Trends – Web Search
Google Trends – Youtube Search
![Page 14: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/14.jpg)
Why should I migrate to Selenium?
| QTP was designed to test one application at a time on a single machine.
| Selenium can run code on one machine and test the application on remote machine
| Selenium is cloud ready while QTP is not
| Same hardware can generate more execution power in Selenium compared to QTP
| Selenium supports more browsers and more languages
| Selenium multiple language choice makes it easy to integrate into development environment and do continuous integration
![Page 15: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/15.jpg)
How to plan a Migration
| Choose a Language to use with Selenium
| Start with just 1 test case to do a Proof of Concept, no frameworks, just plain script
| Notice the issues and difference in execution from QTP
| Try adding 5-10 more scripts and repeat the same exercise
| Don’t look to push a framework at start
| Don’t try migrating existing code approach
![Page 16: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/16.jpg)
Benefits
| Possible to move testing from QA to Development team as part of Unit Testing
| Integration with most Continuous Integration (CI) systems
| Lots of language to choose from and easy to integrate test with development language
| More control over the framework because of language choices
| Possible to implement scalable testing using cloud/grid
| Faster execution
| Lots of frameworks including most of the Unit Testing frameworks
![Page 17: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/17.jpg)
Challenges
| IE driver uses JavaScript simulated XPATH
| Scripts working in Firefox and Chrome may not work in IE
| No tools like DataTable for data driving test
| No Object Repository to store object mappings
| No object types in Selenium. Only WebElement and Select
| TABLE and other common HTML elements need extra code to work
| Different browsers may exhibit different issues on operations
| Higher development effort for initial few months
![Page 18: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/18.jpg)
Case Study – QTP to Selenium (IPCM)
| Existing Test Suite in QTP with 3 hours execution on single machine
| POC Test migration execution time was reduced from 4.5 min (QTP) to 2.5 min (Selenium)
| Full migration to a new C# based framework
| Time duration: 2.5-3 months
| Execution time of Selenium suite with 6 parallel browsers on Same machine – 20 min (89% faster than QTP)
![Page 19: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/19.jpg)
Abhijit Pendyal, Sales Engineer
1/28/2015
![Page 20: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/20.jpg)
Selenium is an open source test automation framework that automates web browsers.
![Page 21: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/21.jpg)
Appium is an open source test automation framework which automates, native, hybrid and mobile apps.
![Page 22: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/22.jpg)
Android UiAutomator! Architecture!
WebDriver Interface
iOS UIAutomation!Powered by Instruments
Selendroid!For older Android devices
![Page 23: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/23.jpg)
What is Sauce Labs?
![Page 24: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/24.jpg)
We have built the worlds largest grid for executing Selenium & Appium tests. We’re open-source at heart contributing to both projects.
![Page 25: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/25.jpg)
Local Selenium Grid
Hub Receives test requests and relays them to Desired Node
Nodes Execute
commands on browsers as directed by
the hub
![Page 26: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/26.jpg)
Selenium on Sauce
![Page 27: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/27.jpg)
470+ configurations
![Page 28: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/28.jpg)
What is Sauce Connect?
![Page 29: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/29.jpg)
Sauce LabsCustomer’s Environment
(TLS) saucelabs.com
(HTTP/S) saucelabs.com
Sauce Connect
(2
(1VMsVM
Sauce LabsAPI
Sauce Tunnel
2
1
Sauce Connect
ApplicationUnder Test
Corporate Firewall
DMZ
![Page 30: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/30.jpg)
Con$nuous'Integra$on''
Typical CI Usage
![Page 31: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/31.jpg)
Sauce'Labs'Pla4orm'
• Largest'cloud'for'automated'tes$ng'
• Test'web'&'mobile'apps'across'470+'pla4orms'
• Industry'standard'Selenium'WebDriver'protocol
• Game-changing stability and scale
• Capture screencasts, logs, test metadata
Se drivers for
On Sauce
Sauce Connect
Test appSauce
Connect
Your script
![Page 32: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/32.jpg)
Thank you
![Page 33: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/33.jpg)
Demo
![Page 34: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/34.jpg)
When should I not choose Selenium?
| If your application is not Web or Mobile, you should look at other automation tool like QTP, TestComplete etc…
| If you don’t love Open Source software
| If you prefer GUI based tools which allow you to create, manage and execute test cases
![Page 35: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/35.jpg)
Pre-Webinar Q&A
![Page 36: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/36.jpg)
Pre-Webinar Q&A
| Can we selenium on Windows based application?| No, but Selenium has lot of language support, so you can always mix it with other solution like Sikuli, AutoIt,
CodeUI
| Will Selenium remain Open source? Is it possible that its made a paid tool future| It will always be open source
| How much programming knowledge is required? What is the learning curve if I already know QTP?| Requires basic HTML, XPATH, CSS and a supported language knowledge. Not a very steep learning curve
| Can we really remove QTP/UFT?| It’s not a question of removing one tool. It’s about looking at cost and implementation benefits of different tools
| Does Selenium solve some of the QTP problems?| No, in fact it may add few to your list. But you can you solve more problems while using Selenium than you can
while using QTP
![Page 37: QTP/UFT vs. Selenium](https://reader030.vdocuments.net/reader030/viewer/2022020116/55a68cac1a28abbe7d8b4638/html5/thumbnails/37.jpg)
Pre-Webinar Q&A
| When making the decision, are you considering the programming skill level of your QA team and the ease of learning the new language or are you assuming the QA team has the necessary programming skills to begin with to readily use the tool as QTP is MUCH easier to transition to for non-programmer QA types than Selenium which requires a knowledge of at least one TRUE programming language (ie C#, Java etc)| Core team develops framework and rest QA team uses it
| Selenium being a open source tool, so their is no dedicated support team. In this how can any clients rely on this tool?| A trade off with any open source solution, Isn’t it?| Sometimes even paid tool support can’t help
(https://connect.microsoft.com/IE/feedback/details/1062093/installation-of-kb3025390-breaks-out-of-process-javascript-execution-in-ie11)
| What are the typical barriers that may prevent an organization to move towards selenium?| Existing investment into Paid solutions like QTP| Lack of developers in the company eco system
| What was the most difficult thing to come from QTP to Selenium?| Developing the base framework and coding for features which already existing in QTP