Migrating From HP UFT to Selenium
Unified Functional Testing is an eminent force in the test automation space. However, Selenium offers many benefits. At the same time, it isn't without its challenges.
Join the DZone community and get the full member experience.Join For Free
Test automation has been facilitating enterprises to accelerate the process of testing and realize maximum test coverage. Enterprises have made significant investments over a period of time in buying tools and building test automation suites. As the application landscapes grow more complex with the introduction and expansion of digital systems, the licensing costs for COTS tools become increasingly high to justify the ROI.
Nowadays, enterprises are progressively inclining towards open-source frameworks instead of investing in licensed testing tools, especially for digital applications for which open-source tools provide excellent support. Open-source tools are loaded with significant features that allow swift automation testing of software applications, including web portals, mobile applications, and APIs.
HP Unified Functional Testing (UFT) has been an eminent force in the test automation space. However, Selenium seems to be quickly gaining supporters and becoming a more proficient open-source entrant for digital applications. There are various visible distinctions between every testing tool that makes picking one or the other a forthright decision in most cases.
Comparison Between UFT and Selenium
Let's take a look at the similarities and differences between UFT and Selenium.
Selenium is mainly for testing web-based applications, whereas UFT can test desktop and client-server applications, as well.
Selenium is a totally free open-source download and will always remain this way. UFT requires a license fee for procurement and additional fees for add-ons and upgrades.
UFT works only on Windows whereas Selenium works on all major OSs including Linux, OSX, Windows, Android, Solaris and, iOS.
The Selenium grid is precisely designed to run simultaneous tests on different machines with different operating systems and using different browsers in parallel. This makes it a good match for cloud-based testing services. UFT has a one-machine/one-script execution model that cannot make an efficient use of distributed test execution with cloud infrastructure.
Ease of Execution
Selenium can execute multiple tests simultaneously on a single machine, whereas UFT tests one application per machine.
The Challenges of Migrating to Selenium
Selenium is filled with advantages, but it also comes with some technical restrictions. It is not uniformly compatible across all browsers; it's most compatible with Firefox. Therefore, the scripts developed for Firefox might need some modifications to run in Chrome or IE.
There are a few other challenges:
It does not come with an inherent support for data-driven testing.
There is a limited dialog-box support.
It is harder to accomplish image-based tests.
Coding is required for HTML tables and other elements.
These challenges can be taken care of with help from frameworks compatible with Selenium. However, they may add upfront development costs and efforts while integrating or developing with a framework like this. It is advisable to look for already available and proven Selenium frameworks with partners or other internal teams rather than building one from the ground up.
How to Seamlessly Migrate from UFT to Selenium
The following tips can help you mitigate the restrictions that come with migrating from UFT to Selenium and help ensure a smooth transition.
Leverage specialist capabilities from partners or internal teams with experience in Selenium frameworks and UFT to Selenium migration.
Identify key UFT assets, the criticality of test automation suites, current investments, and ROI.
Assess the technical capabilities and in the team and choose a scripting language for the Selenium framework.
Select a test suite for POC and migrate sample scripts to Selenium.
Take what you learned from the POC forward and expand the conversion to Selenium gradually.
Optimize scripts for reliability, maintainability, and performance.
Execute Selenium and UFT scripts in parallel, validate, and sign-off.
Published at DZone with permission of Mark Harmer. See the original article here.
Opinions expressed by DZone contributors are their own.