BACK TO BLOG

Cloud Test Automation Using Selenium

Published Date

February 28, 2024

Read

7 minutes

Written By

ACL Digital

Cloud Testing is a means of testing cloud-based applications using resources provided by the cloud. By resources, we mean any element (hardware, software, and infrastructure) necessary to carry out the tests. Cloud testing provides an end-to-end solution that transforms the way testing is done and can help an organization gain competitiveness by reducing the cost of testing without impacting mission-critical applications. By leveraging cloud computing services for testing, organizations can shorten the provisioning time because the cloud enables provisioning of test servers on demand. This ensures unused servers are not sitting idle. Generally, more than 80% of the validation processes are repetitive, with testers performing the same testing steps manually in each new build.

Why Selenium Cloud Testing?

Selenium is among the popular cloud testing tools because it enables flexibility and perfection. It is compatible with a wide variety of browsers and offers great flexibility to write test scripts. Selenium provides robust support to a variety of programming languages including C#, Java, Python, and Ruby. Even with the basic knowledge of any of this language is enough to work with Selenium.

Benefits of Selenium Testing Tool

  • Cost-effective: It is an open source tool
  • Language: Supports many languages like Java, Ruby, Python, and C#
  • Browser: Supports multiple browsers like IE, Mozilla, Opera, Chrome, and Safari – which supports cross-browser testing and can be easily integrated into the newly launched browser
  • Framework: Supports multiple frameworks like Junit, TestNG, Bromine, Nunit, Rspec which make the automation more robust and can develop its own framework
  • Operating System: Supports multiple operating systems like Windows, Mac, Linux
  • Time-Saving: With the help of the selenium grid, parallel execution of the test cases can be done

Cloud Automation Testing Using Selenium

Today’s software applications are mostly web-based and with the cloud infrastructure, it is gaining prominence. They are mostly deployed on cloud servers. Selenium is unarguably the most widely used open source solution to meet the needs of your testing project. It can be successfully used with cloud services to test web apps across multiple browsers and platforms. Selenium interacts with web browsers to test actions, inputs, and expected outcomes and thereby it improves device and platform coverage.

ACL Digital Automation Framework for Cloud Testing

The automation framework is a strategy for automation. It provides a structured way of obtaining quality work with quantity and effectiveness. There are many predefined frameworks in Selenium like JUnit, TestNG, NUnit, etc.

ACL Digital has carried out a comprehensive analysis of different Selenium automation frameworks and found that none of them offered a complete benefit. Hence, ACL Digital has developed a Data-Driven Framework to provide an end to end solution for cloud automation testing.

ACL Digital Selenium Data Driven Framework Approach

ACL Digital Selenium Data Driven Framework is an implementation of function modularization and abstraction layer. It’s an excel based automation framework that consists of 3 layers:

  1. External Layer (Test Case Layer)
  2. Application Function Layer ( It consists of application-related functions)
  3. Framework Layer (It consists of core framework functions)

In VSDDF, all the test cases will reside in the external layer and call the function from Application Function Layer and it will invoke the framework layer function. This framework is excel based and all test cases and test data will reside in a single excel file which makes this framework easier to manage. The user can choose test cases that they want to execute from Excel file and can provide their test data into this excel.

In VSDDF, we have kept all object repositories to property files which can be read at the runtime so it’s easy to maintain element locators. Similarly, there is a property file for configuration related data.

We have integrated this VSDDF with the continuous integration tool Jenkins and Source Code Management tool Bit Bucket (Git).

 

Selenium Data Driven Framework

Features of ACL Digital Selenium Data Driven Framework

  • Works extremely powerful with different browsers such as Mozilla, Chrome, and Opera, etc.
  • VSDDF is a maven based framework so the user need not worry about dependency management
  • Execution can be triggered at one click either from Jenkins/locally
  • Execution can be triggered automatically using Jenkins when any changes are done on BitBucket/Git code
  • VSDDF provides a feature for uploading test result to Test Rail (Test Management tool) using TestRail APIs
  • Detailed report generation includes application logs, line and bar graphs, platform details, and test execution details such as the number of passes, the number of fails, total Test cases, each test case with line by line test steps, screenshot at the time of failure, etc.

Benefits of Selenium Data Driven Framework

  • Since scripting is done with Excel, it is simple and easy to create test cases. Even a manual tester can write test cases once he knows about customized methods and how to trace elements from the application
  • Manual test cases and Automation test cases can be maintained in the same sheet
  • Highly productive and scalable
  • Cost-effective since it reduces man efforts

Return on Investment (ROI) using Selenium Data Driven Framework

BEFORE THE IMPLEMENTATION OF SELENIUM AFTER THE IMPLEMENTATION OF SELENIUM
Total Test cases: 130 Total Test cases: 130
Time to execute test cases: 10 hours Time to execute test cases: 3.5 hours

Challenges Faced During Implementation

  • The web application is built using AngularJS so the majority of the time we were not able to get unique locators
  • Extracting data from web-table was difficult due to the developer had implemented slick-grid for lazy loading
  • Some of the element was not getting identified at run time because it was created at runtime with dynamic locator values
  • Data Import related test scripts were getting failed due to interactions with windows pop up
  • There are test cases failure due to radio button selection was not working as the developer has made the radio button in such a way that selection was not permitted
  • Selenium Test Scripts were taking too much time to run it

ACL Digital Solutions for Challenges

  • Unique locator problems: We use JavaScript executor where we could not find unique elements
  • Extracting data from Slick-grid: We used slick functions and java scripts to extract data from web-table
  • Dynamic Elements: We used regex, ancestor and sibling techniques to identify such elements
  • Data Import failures: We used Auto IT/Robot class to deal with windows pop up
  • Radio button selection problem: We worked closely with the development team and identified actions which were being performed on click of the radio button and we called that functions using JavaScript
  • Selenium script performance issue: For this problem, we have done lots of R&D and implemented the below things to improve performance
    • Executing a test script that will check data dependency only once and resolve it
    • We have used fast locator wherever possible
    • We have grouped test cases according to business functionality
    • We have eliminated static wait wherever possible
    • We have changed test execution flow and significantly improved execution timings

Conclusion

Using Selenium as a functional testing tool we have significantly reduced the test execution timing as well as manual repetitive efforts. Selenium is an open source automation tool so it has saved the cost incurred for licensing tools like HP UFT (Unified Functional Testing).

About the Author

ACL Digital

Related Posts

Best Practices for a Safe Cloud Transformation

Published Date: May 22, 2024

By: ACL Digital

Oracle Soar: Migration to Cloud

Published Date: June 14, 2018

By: ACL Digital

Oracle HCM – Future HR – Redefine Journey to the Cloud

Published Date: July 16, 2018

By: Lavanya