- 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.
- SHAFT_Engine Framework
- 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).
- Implementing the Test Automation Pyramid by have 2 different test automation levels which are SERVICE and GUI layers
- Applying the Page Object Model (POM) design pattern .
- Applying the Fluent design approach.
- Configurations.Set from Properties File
- Managing test data
in end-to-end test automation by approach
Creating test data during test execution
.
├── main
│ ├── com.dentolize
│ │ └── modules
│ │ ├── api
│ │ └── gui --> pages
│ ├── utils
│ └── resources
│ └── properties -> configerations
├── test
│ ├── testcases
│ │ ├── modules --> Test Functions
│ └── resources
│ ├── testData
│ ├── testSuits
│ ├── uploads files
│ └── docker-compose.yml
├── pom.xml
└── README.md
👉 Click here Run to the Test cases locally using IntelliJ IDEA
Pre-requisites: jdk-17 and maven should be installed
-
Set the 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:com.shaft.tools.listeners.AlterSuiteListener
,com.shaft.tools.listeners.SuiteListener
,com.shaft.tools.listeners.InvokedMethodListener
-
Execute All tests using Command-line opening a terminal on the project root path and run the following command:
mvn clean test
mvn clean test
mvn -Dtest="nopCommerce.tests.**" test
-
After executing,The report will be generated automatically after running the test.
-
Find the Extent Report ExtentReports.html in the project root path for the latest execution and open by any browser
👉 Click here to the Run the Test 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/test/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/test/resources/docker-compose.yml down --remove-orphans
👉 Click here to show the Test Cases:
* Verify the user Can "Register" via email.
* Verify the user Can "Login" via email.
* Verify the user can "Change password".
* Verify the user can "Login with New Password".
* Verify the user Can "Search" with Keyword.
* Verify the user can "Search" via auto complete.
* Verify the user can "ContactUs" and send Message.
* Verify the user can "Add Product to Cart"
* Verify the user can "Add Product to Wishlist"
* Verify the user can "Add Products to Compare".
* Verify the user can "Email Product to Friend".
* Verify the user can "Check out Product".