The Zando project is a Selenium-based automation framework developed in Kotlin, using Gradle for project/dependency management and TestNG for test execution is designed to validate the end-to-end testing scenarios of an e-commerce platform.
- Page Object Model (POM): Encapsulates elements and actions within different pages of the e-commerce platform (e.g., Search Page, Shopping Cart Page).
- Error Handling & Robustness: Includes error handling for common exceptions such as
ElementNotInteractableException,StaleElementReferenceExceptionandWebDriverException. - Multi-Platform: Created to be prepared to be used for multiple browser.
- Synchronization: Implement timing and synchronization to dynamic handle portal elements.
- Parallel-testing ready: The framework was built to be executed in paralell and in any CI/CD platform.
The pages directory contains all the page object classes, which define actions and elements for specific pages (e.g., SearchPage, ShoppingCartPage).
The tests directory holds the TestNG test classes, which contain the actual test scenarios.
The base directory contains helper classes for WebDriver initialization, element interactions, and common utilities.
The feature directory hold the the files cotaining the feature description, scenarios and steps for testing the portal.
-
JDK 11 or above
-
Gradle installed(or use the Gradle wrapper provided on the repository)
-
Any IDE of your choice but I will recommend one that supports Kotlin and Gradle, such as IntelliJ IDEA
-
Clone the Repository
git clone https://github.com/abra1193/Zando.git -
Build Gradle project
./gradlew clean build -
Run tests
./gradlew clean test -
Generate reports(optional)
./gradlew allureReport allureServe
This framework is integrated with GitHub Actions to run tests automatically on every pull request change or commit to master. The configuration for running the tests is defined in .github/workflows/gradle.yml. This enables seamless continuous integration, ensuring that tests are run on every change.
-
Click on Actions button on the Github top menu
-
Click on Zando workflow button in the Actions left pane
-
Click on the right pane on Run workflow button
-
Select your branch or master and select the browser you want to execute the test
-
Click on Run workflow
-
Now you will see the Zando workflow in the queue executing or waiting to be executed, if you tap on it you can see the console ouput logs.
-
After this reports will be available(chrome for the moment) on my personal page https://abra1193.github.io/Zando