One Java engine for web, mobile, API, CLI, database, and desktop.
Drivers, waits, and evidence are handled. Every run ends in an Allure report.
Usage (GA4 Engine property + GitHub API, as of 2026-10-29): 4,885,097 tests run and 53,062 active users in 30 days (2026-09-29 to 2026-10-28); 154,202 active users in 12 months (2025-10-29 to 2026-10-28); 36 countries (12-month window). The stars badge above is live.
Upgrade to SHAFT_ENGINE · ▶ Watch the 26-second clip with sound and captions · 100-second overview
- No plumbing. Managed Selenium and Appium drivers, synchronized actions, and smart waits.
- One fluent API. Web, mobile, REST/GraphQL, database, CLI, and desktop in the same test.
- Evidence by default. Steps, screenshots, and logs land in an Allure report on every run.
- Scale by configuration. Local, Grid, BrowserStack, or LambdaTest; TestNG, JUnit, or Cucumber.
- Open and trusted. MIT licensed, on Maven Central, with public coverage.
Test intent and configuration enter SHAFT's orchestration layer, fan out across the execution surfaces you need, and come back as unified evidence.
flowchart LR
accTitle: SHAFT execution and evidence workflow
accDescr: Test intent and configuration enter SHAFT orchestration, run across Web, Mobile, API, and Native execution surfaces, and produce unified evidence.
I[Test intent] --> S[SHAFT orchestration]
C[Configuration] --> S
S --> W[Web]
S --> M[Mobile]
S --> A[API]
S --> N[Native, CLI, and Database]
W --> E[Unified evidence]
M --> E
A --> E
N --> E
Generate your first project and run mvn test. Already on Maven? Add io.github.shafthq:shaft-engine (version from the Maven Central badge):
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>shaft-engine</artifactId>
<version>${shaft.version}</version>
</dependency>Then write the test:
SHAFT.GUI.WebDriver driver = new SHAFT.GUI.WebDriver();
driver.browser().navigateToURL("https://shafthq.github.io/")
.and().element().assertThat(By.cssSelector("h1")).isVisible();
driver.quit();Run mvn test. The Allure report opens with every step, screenshot, and log.
- Writing tests: the User Guide has setup, the full API, and examples.
- Using IntelliJ: shaft-intellij.
- Contributing or maintaining: CONTRIBUTING.md is the entry point to the maintainers guide.
- AI agents: AGENTS.md. Start with
$shaft-developer, then the MCP tools or CLI commands. - Training: hands-on courses at automatest.org.
Open an issue · Code of Conduct · Security · Sponsor
BrowserStack, LambdaTest, Applitools, and JetBrains have provided tooling or open-source program support. This is support for the project, not a claim of financial sponsorship, customer status, or endorsement.