Selenium or HP Unified Functional Testing? Which should you choose to automate your functional tests?
The broad range of user-friendly features in UFT have made it an attractive choice for many but the limitations in cross-browser and platform support have been an issue.
In this series, we will be looking to show how Selenium-based services can be used from within HP UFT, keeping those valuable object repositories and data tables.
It isn’t a trivial undertaking and will take some time and effort, so it’s worth considering why we should do it first.
With the release of UFT 12, HP has recognised the need to provide broader browser and platform support and Version 12 is now capable of running tests in Safari on a remote Macbook. As welcome as this is, does it go far enough, especially if you need assurance of mobile platform testing?
HP have looked to address this by teaming up with Perfecto Mobile to offer a solution based on real devices. As good an idea as this is, it does require a significant investment in additional licencing. Also, it only partly solves the issue of how to test against a broad range of platforms and browser combinations. How do you know your website can be used by people with a Galaxy S3, S4, S5 or an iPhone 5s or Safari on Snow Leopard or Mountain Lion or Firefox 28 on Windows 8.1 or even IE8 on Windows XP? – yes people still use it!
This calls for virtualisation and two companies have taken the lead in providing large arrays of platform and browser combinations: Sauce Labs and BrowserStack. Both have chosen Selenium as the automation technology of choice, clearly due to its popularity but also because it has been designed to work in a client/server model. Communication between the two is conducted using the JsonWire Protocol which has been adopted for a broader set of uses, most notably Appium.
So, if you already have a set of regression tests written in UFT and don’t want to discard those well-designed repositories and data tables but now want to test on a broader range of devices, what should you do?
The next part in this series will walk you through the process of making a function library that can drive selenium-based tests either locally on in the cloud using your object repositories.