SHAFT_ENGINE  by ShaftHQ

Unified test automation engine for diverse platforms

Created 8 years ago
394 stars

Top 72.8% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

SHAFT Engine is a unified, open-source Java test automation framework designed to streamline end-to-end testing across web, mobile, API, CLI, and database platforms. It addresses the common pain points of fragmented testing tools, boilerplate code, and flaky tests by providing a single, fluent API built upon industry-standard libraries like Selenium, Appium, and REST Assured. This approach allows engineers to write tests once and execute them across diverse environments, significantly reducing learning curves, development time, and maintenance overhead, thereby maximizing ROI.

How It Works

SHAFT Engine operates as a comprehensive Java framework, abstracting the complexities of underlying automation tools. Its core design features a unified, chainable API that enables testers to interact with web browsers, mobile applications, REST APIs, databases, and command-line interfaces using a consistent syntax. This unified approach, combined with smart auto-configuration and built-in synchronization, eliminates the need for manual setup, WebDriver management, and explicit waits, leading to more reliable and maintainable test suites with significantly reduced boilerplate code.

Quick Start & Requirements

  • Primary Install/Run: Recommended via the interactive Project Generator (Launch Project Generator), or by using a Maven Archetype (mvn archetype:generate -DarchetypeGroupId=io.github.shafthq -DarchetypeArtifactId=shaft-archetype). Existing projects can integrate using the shaft-upgrader script.
  • Prerequisites: A strict Maven-only execution policy is enforced for consistency. A Java Development Kit is implicitly required.
  • Links: Complete Quick Start Guide, Architecture, Modular Upgrade Guide.
  • Estimated Setup: Under 5 minutes for a new project via the generator.

Highlighted Details

  • Unified API: Supports Web, Mobile (Native, Hybrid, Flutter), API (REST), Databases (SQL, NoSQL), and CLI testing with a single syntax.
  • Zero Boilerplate: Features smart auto-configuration, eliminating manual setup, waits, and common wrapper code.
  • Rich Reporting: Integrated Allure reporting with screenshots, detailed logs, and optional video recording.
  • AI-Powered Validation: Optional modules for visual testing (OpenCV, Applitools Eyes) and AI-driven code exploration.
  • Cloud & Container Ready: Direct support for BrowserStack, LambdaTest, Selenium Grid, and Docker.
  • Modular Design: Allows users to select specific capabilities as dependencies (e.g., shaft-ai, shaft-browserstack, shaft-visual).

Maintenance & Community

SHAFT Engine is maintained by a dedicated community, with contributions welcomed via bug reports and pull requests on GitHub. The project is supported by sponsors, and a link to the GitHub sponsors page is provided. Community interaction primarily occurs through GitHub issues and pull requests.

Licensing & Compatibility

The project is released under the MIT License, permitting free use, modification, and distribution in both personal and commercial projects without significant restrictions.

Limitations & Caveats

A strict Maven-only execution policy is enforced, limiting integration to Maven-based projects. The modular architecture, while flexible, requires careful management of dependencies to access specific advanced features like AI-powered validation or cloud integrations.

Health Check
Last Commit

15 hours ago

Responsiveness

Inactive

Pull Requests (30d)
398
Issues (30d)
149
Star History
6 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Meng Zhang Meng Zhang(Cofounder of TabbyML), and
3 more.

qodo-cover by qodo-ai

1.6%
6k
CLI tool for AI-powered test generation and code coverage enhancement
Created 2 years ago
Updated 3 months ago
Feedback? Help us improve.