- This project is released to the Central Maven repository, you can follow this link to view the latest version
- This project is for contributors who wish to add new features or fix issues with SHAFT_Engine. If you wish to use SHAFT_Engine, please refer to this GitHub project instead: https://github.com/MohabMohie/using_SHAFT_ENGINE/
- Refer to the published javadocs for detailed information on the available functions/classes/packages https://mohabmohie.github.io/SHAFT_ENGINE/
SHAFT_ENGINE is a Test Automation Engine that provides a unified high-level interface to any underlying test automation frameworks (such as Selenium WebDriver and Rest Assured).
- Provides an easily understandable and user friendly syntax for writing simple, robust, maintainable, and extendable tests.
- Provides support for Data-Driven, Keyword-Driven, and Behavior-Driven tests.
- Provides extensive, yet user friendly GUI/API reporting on test execution.
- Aims to include multiple free-for-use test automation frameworks to cover web, mobile (android/iOS) and desktop (windows/linux/mac) test automation.
- Aims to provide a single open-source solution with a standardized implementation and unified reporting/integration with the most commonly used test management and CI tools.
- TestNG
- Selenium WebDriver
- Rest Assured
- Cucumber
- Apache POI
- WebDriver Manager
- Allure Reporting
- A Test Automation Engine.
- Automation is about finding and interacting with elements, SHAFT removes the hassle of interacting with elements.
- A sourceControlled java/maven project that can be easily extended and enhanced with new features.
- Fully documented with standard JavaDocs.
- A single jar file that can be used in any Automation project.
- Provides a high level Keyword interface without having to learn the syntax for any of the low level frameworks that it uses.
- Supports data driven test automation.
- Provides m2m reporting.
- Provides human readable GUI reporting.
- Supports web apps on Chrome, Firefox, Edge, IE, and Safari.
- Supports testing APIs.
- Supports testing CLIs.
- Supports testing Databases.
- Can support mobile testing.
- Can support other types of testing/automation.
- Runs on Linux, Windows, and Mac.
- Supports remote, unattended, parallel, cloud, and dockerized test execution.
- Supports Behavior Driven Development.
- Supports Continuous Integration, and DevOps...