Sandbox
@ShaftHQ/SHAFT_ENGINE

Java test automation framework for SHAFT projects

SHAFT gives you a single Java framework for testing web, mobile, API, CLI, database, and native apps. It combines orchestration, evidence capture, and reporting so your tests run with less setup and produce consistent output. The repo is modular, so you can start with `shaft-engine` and add tools like CLI, MCP, or browser provider modules when needed.

409 stars152 forksJavaUpdated 6d ago
Who it's for

Builders who want reusable end-to-end testing in Java with one framework and shared reporting.

What it delivers

You can run broad test coverage with less plumbing and get unified evidence from each run.

What it does

Multi-surface test execution

Runs tests across web, mobile, API, CLI, database, and native desktop flows.

Fluent Java API

Provides a maintainable Java API for writing tests with readable actions and assertions.

Unified evidence capture

Collects screenshots, logs, attachments, and Allure reports in one flow.

Configuration-first execution

Supports repeatable local and CI runs through explicit configuration.

Modular add-ons

Ships optional modules for BrowserStack, capture, heal, CLI, MCP, and IntelliJ support.

Agent-ready skills and tools

Includes first-party skills plus MCP and CLI assets for agent-assisted test work.

How to get it

  1. 1Extract it and run
    mvn test

README

SHAFT S logoSHAFT S logo

SHAFT

Reliable Java test automation, from first intent to production-grade evidence.

One strong, maintainable framework for Web, Mobile, API, CLI, Database, and native testing—with synchronized actions, configuration-first execution, readable assertions, and unified reports.

Maven Central Build Stars User guide

Generate your first project · Explore the user guide · Star SHAFT on GitHub ⭐

SHAFT removes the repeated plumbing around drivers, waits, assertions, configuration, test data, screenshots, logs, and Allure evidence. Its modular Maven reactor keeps the core lean and lets teams add advanced tooling only when they need it.

From zero to useful evidence

  1. Open the SHAFT landing page and generate a ready-to-run Maven project.

  2. Extract it and run:

    mvn test
    
  3. Inspect the sample result, screenshots, logs, and Allure evidence.

The generated project uses the canonical Maven coordinate io.github.shafthq:shaft-engine and gives you a repeatable baseline for local runs and CI.

One orchestration layer, every execution surface

Test intent and configuration enter SHAFT's orchestration layer, fan out across the required execution surfaces, and return through one unified evidence flow.

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
Engineering needWhat SHAFT provides
Stable UI automationManaged Selenium and Appium drivers, synchronized actions, locator builders, screenshots, and accessibility evidence.
End-to-end coverageREST, GraphQL, Database, CLI, and native desktop actions in the same test flow.
Trustworthy verdictsHard and soft assertions, structured logs, attachments, failure context, and Allure reports.
Scalable executionConfiguration-first local, Grid, BrowserStack, LambdaTest, TestNG, JUnit, and Cucumber runs.
Maintainable architectureA focused engine, BOM-aligned optional modules, public extension points, and reusable test assets.
Assisted workflowsCapture, Doctor, deterministic Heal, MCP/CLI tools, provider adapters, and an IntelliJ IDEA plugin.

Built for long-lived automation suites

  • Strong defaults, explicit control. Sensible behavior gets teams moving; configuration keeps environments and CI reproducible.
  • Modular by design. Start with shaft-engine, then adopt visual, video, cloud, native, or agentic modules without rebuilding the test architecture.
  • Evidence is part of execution. Logs, screenshots, attachments, and reports share one lifecycle instead of becoming after-the-fact glue.
  • Open and inspectable. SHAFT is MIT licensed, built in public, and guarded by its pull-request gate, security policy, and published release history.

Agent-ready, source-grounded

SHAFT ships 30 first-party skills for planning, authoring, running, diagnosing, and reporting tests. Start with $shaft-developer; it routes the immediate job to one focused specialist. Exact MCP names and CLI syntax are generated from source in shaft-mcp-tools.md and shaft-cli-commands.md.

Join the project

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.

SHAFT is free and MIT licensed. You can support ongoing maintenance, documentation, and public infrastructure through GitHub Sponsors.

MIT licensed — see LICENSE.

Files in the repo

Repository payload54 top-level entries
  • .agents
  • .claude-plugin
  • .github
  • .memory
  • .mvn
  • agent-plugins
  • chaos-engine
  • legacy-shaft-engine
  • report-aggregate
  • scripts
  • shaft-ai
  • shaft-bom
  • shaft-browserstack
  • shaft-capture
  • shaft-capture-proxy
  • shaft-cli
  • shaft-doctor
  • shaft-engine
  • shaft-heal
  • shaft-infrastructure
  • shaft-intellij
  • shaft-mcp
  • shaft-ocr
  • shaft-pilot-core
  • shaft-sikulix
  • shaft-skills
  • shaft-upgrader
  • shaft-video
  • shaft-visual
  • tests
  • tools
  • .dockerignore
  • .gitattributes
  • .gitignore
  • .graphifyignore
  • .java-version
  • .mcp.json
  • .sdkmanrc
  • AGENTS.md
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • codecov.yml
  • CONTRIBUTING.md
  • GEMINI.md
  • LICENSE
  • mempalace.yaml
  • modular-era-feature-catalog.md
  • pom.xml
  • README.md
  • render.yaml
  • requirements-ci.txt
  • SECURITY.md
  • smithery.yaml
  • test-output.log

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More frameworks & sdks

HKUDS/nanobotFrameworks & SDKs

Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps

48k
microsoft/
SkillOpt
microsoft/SkillOptFrameworks & SDKs

SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

17k
omnigent-ai/omnigentFrameworks & SDKs

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.

9.8k
kyegomez/
OpenMythos
kyegomez/OpenMythosFrameworks & SDKs

A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.

15k
D4Vinci/ScraplingFrameworks & SDKs

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

80k