- October 15, 2022
Reusability of Code and increased maintainability
Fintech | U.S.A.
About the Client:
The client is a full-service, technology-driven consumer finance company focused on vehicle finance and unsecured consumer lending products. Client markets the auto finance programs of various banks, gaining valuable perspective on the auto originations process.
Business Case:
Automation of regression bed test cases (desktop, web and mobile) to minimise execution time and resource cost.
Challenges:
1 – Identify Automation Tools which supports Web, Desktop and Mobile Applications.
2 – Designing of Automation Framework, which is pluggable to all Web, Desktop and Mobile Applications.
What We Did:
Motivity Labs approached the solution with both Proprietary Tools and Open source tools.
Phase 1:
Proprietary Tools (UFT + Perfecto Mobile)
Perfecto Mobile is a cloud-based solution which can be integrated to UFT. Perfecto Mobile supports VB script which is written in UFT.
- Designed Hybrid Framework which supports Automation of Desktop, Web and Mobile Applications.
- Support for browser compatibility.
- Support for Android, iOS, and Windows Mobile Apps
- Platform independent: Single script which can be used across all the supported browsers and devices
- Zero device maintenance – As perfecto is a cloud-based solution, it takes care of all the latest Mobile devices with specific operating system versions.
Phase 2:
Replacement of Proprietary Tools with Open Source to save costs
Client Suggested tool: Selenium.
Challenges with the tool
- No support for Desktop Applications
- Conversion of existing scripts (UFT to Selenium).
Overcoming the challenges:
Selenium C# with Coded UI
As Client machines had in built Microsoft Visual Studio. Motivity Labs suggested the below
- Selenium supports Web
- Selenium supports Mobile Apps (with integration of Perfecto Mobile or Appium)
- Coded UI supports Desktop applications
- Microsoft has client support to resolve CodedUI tool technical issues.
We have designed a single framework by creating a Coded UI project with integrating Selenium Web and Perfecto Mobile libraries. This framework supports automation of Desktop, web, and Mobile applications with more reusability of code and increased maintainability.
Selenium C# with White Framework
White Framework is open source solution for desktop applications integrated selenium C#.
- Selenium supports Web
- Selenium Mobile Apps (with integration of Perfecto Mobile or Appium)
- White Framework supports Desktop applications
Client has accepted Motivity Labs solution1 and started converting scripts from UFT to Selenium.
Business Impact:
- Reduced licence cost and Maintenance cost
- Reduced execution Time with increased quality.
- Automation Framework handles Selenium (Web) & CodedUI (Desktop)
- Generic Reusable functions available in the Framework for Selenium & CodedUI
- Framework seamlessly switch between Web (Selenium) & CodedUI (Desktop)
- Framework has the best reporting mechanism with screenshots & video
- Framework handles DB Connectivity, and is able to execute queries against DB.
- Easy to use framework even for non-programmers (manual testers)
Phase 3:
Business Case:
Coded UI Test for automated UI-driven functional testing is deprecated. Visual Studio 2019 is the last version where Coded UI Test will be available.
Challenges:
With deprecation of Coded UI, all the existing Coded UI scripts will be deprecated. Which effects Automation of Desktop Applications
Recommendations:
We recommended using existing Selenium C# scripts for testing web apps, Appium with WinAppDriver for testing desktop Applications (which needed conversion of existing Coded Ui scripts to WinAppDriver scrips)
As Client machines had in-built Microsoft Visual Studio. Motivity Labs suggested the below
- Selenium C# supports Web
- Selenium supports Mobile Apps (with integration of Perfecto Mobile or Appium)
- WinAppDriver supports Desktop applications
Success achieved:
We successfully designed a POC by creating a Unit test project with the integrating Selenium,WinAppDriver and Perfecto Mobile libraries. This framework supports automation of Desktop, web, and Mobile applications with more reusability of code and increased maintainability.