- Java Development Kit JDK-17 as a Development Environment.
- Maven as a build tool, that automate the process of compiling computer source code into binary code.
- TestNG as a Unit Test Automation framework.
- Selenium WebDriver for Web App GUI Test Automation.
- Appium for Mobile App GUI Test Automation.
- Rest assured for REST/GraphQl API Test Automation.
- Allure Report Framework for generating test execution report.
- Extent Report Framework for generating test execution report.
- Data Driven Testing framework to read from data files and store them in variables in test scripts.
- Docker
- Docker Compose for running Selenium Grid.
- Selenium Grid for remote execution.
- GitHub Actions for continuous integration.
- Applying Hybrid Test Automation Framework
- WebElement Extension Methods (Selenium Wrapper).
- Applying the Page Object Model (POM) design pattern .
- Fluent design approach.
- Managing test data
in end-to-end test automation by approach
Creating test data during test execution
.
├── ConsoleLogs
├── ExtentReport
└── src
├── main
│ ├── com.project
│ │ ├── api
│ │ └── gui
│ │ ├── pages
│ │ └── screens
│ ├── framework --> engine
│ │ ├── gui.actions
│ │ ├── api.actions
│ │ ├── browser
│ │ └── tools
│ └── resources
│ └── configerations --> properties file
│
└── test
├── testcases
│ ├── api
│ └── gui
│ ├── web
│ └── mobile
├── testSenarios
│ └── end_to_end
└── resources
├── testData
├── uploads files
├── apk
└── screenshots
└── pom.xml
└── README.md
👉 Click here to Run the Test cases locally using IntelliJ IDEA:
- A properties file project.properties including all the configurations
- Set the test Data from TestData
- Edit your run configuration templates before running your tests by following these steps:
- Open 'Edit Run/Debug Configurations' dialog > Edit Configurations... > Edit configuration templates...
- Select TestNG > Listeners > and add this listener:engine.tools.listeners.TestngListener
- Execute All testSuites using Command-line opening a command-line terminal on the project root path and run the following command:
mvn clean test
- After executing,generate the Allure Report by opening a command-line terminal on the project root path and run the following command:
mvn allure:serve
CTRL+C to stop the server and type 'y'
mvn clean
- Find the Extent Report ExtentReports.html in the project root path for the latest execution and open by any browser
👉 Click here to Run the Test cases remotely using Selenium-Grid and Docker:
Pre-requisites: Docker Desktop should be installed.
- To start selenium-grid using docker-compose; at the root directory of the project, run the following command:
docker-compose -f src/main/resources/docker-compose.yml up --scale chrome=2 --remove-orphans -d
- Open http://localhost:4444/grid/console to monitor selenium grid.
- Run the test using the following command:
mvn test
- To end/down selenium grid; at the root directory, run the following command:
docker-compose -f src/main/resources/docker-compose.yml down --remove-orphans