We want to share our Test Automation Framework Selenium-based for Web UI. We are now making it available to our entire community.
Now available on GitHub to use on your Test Automation projects!
In the sections below, we will be answering some questions you might find useful.
How did the idea for a Selenium Template come up?
Given the high demand of projects we were facing, we saw the opportunity to implement an automation framework for our team to use.
We noticed that, when creating projects from scratch, the challenges and solutions were usually the same. As time went by, we identified that Selenium automation projects were becoming more and more similar, using the same structure and the same classes. Why not have a base structure, then, that was the same for every project?
Implementing the Template makes this work more efficient, reducing the required time and effort involved.
The framework has been designed so that it is easy to understand and use.
What does the Selenium Template consist of?
It is a test automation framework based on Selenium WebDriver that serves as a starting point when dealing with any web UI test automation project.
This framework provides all of the necessary features to approach a web test automation project with Selenium in a standard way, reducing the configuration and creation times, minimizing both the learning curve and the technical level required to use it.
Likewise, it encapsulates common logic structures and offers a working framework that is easy to configure and can be extended depending on the needs of every project.
In addition, because the code is standardized, it provides the centralization of features and reusable behaviors.
Sharing this with our community allows each person to collaborate and add new ideas so the template can grow and make the work easier for anyone who wants to use it on their projects.
What features does the Template include?
The main features included in the web UI test automation template are the following:
- Handling of windows and HTML elements (DOM)
- Simulation of user actions on the web
- Multi-browser support (Chrome, Firefox, Edge, among others)
- Runtime verifications (TestNG)
- Execution of test suites
- Analysis of execution results (Reports)
Parameterization and test configuration:
- Global configuration of the tests
- Test data management: xls, csv, txt
Integration:
- Database engines (JDBC): Oracle, PostgreSQL, SQL Server
- Mailing services: Email reception/verification
What do I need in order to use the Template?
First of all, you need to have an understanding of Java, Selenium and Object-Oriented Programming (OOP) in order to analyze and understand the structure of classes and packages in the template.
Because the framework is based on Selenium WebDriver version 3, some installations are required and you will need to consider some other requirements so you can use it correctly:
- Java Language
- The IDE you prefer; for example, Eclipse IDE.
- TestNG, which is also available in the Eclipse Marketplace.
The following are the steps you need to follow to download and install the template on your preferred IDE:
1. Download a copy or clone the code in the repository from GitHub.
2. Import the project in the IDE. Remember to do it as a “Maven project”.
3. After the import has been completed, the project is ready to be used.
For more information, visit our GitHub profile.
Are you interested in collaborating?
The template is open to new ideas, recommendations that add value to the template, and features that contribute to improve it. The idea is to make it grow and add a tool that is increasingly more and more useful to the community!
Extra tip
We suggest using the template right from the start of a test project, so you can minimize the efforts involved in designing and configuring it, generating more tests that are more robust and have fewer lines of code.
