Skip to main content

Features and modules

The required shaft-engine artifact provides the public facade and core test automation capabilities. Three dependency-heavy integrations are optional.

Feature-to-module map

FeatureMaven artifact
Web, mobile/Appium/Flutter, API, database, CLI, test data, accessibility, reporting, screenshotsshaft-engine
Direct BrowserStack WebDriver/Appium sessions and app uploadshaft-engine
BrowserStack SDK interception, multi-platform YAML, and SDK orchestrationshaft-browserstack
Appium Android/iOS driver-native recordingshaft-engine
Local non-headless desktop recordingshaft-video
Reference-image assertions and image-path touch actionsshaft-visual
Deterministic explainable web element recoveryshaft-heal
Screenshot highlighting, animated GIFs, and compareImageFolders(...)shaft-engine

See the upgrade guide for the exact method boundaries.

Use the BOM to align the core engine with any optional modules you add:

pom.xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>shaft-bom</artifactId>
<version>${shaft.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>shaft-engine</artifactId>
</dependency>
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>shaft-visual</artifactId>
</dependency>
</dependencies>

Smart Features

SHAFT provides a lot of out-of-the-box convenience features to facilitate your testing process and eliminate the need for boilerplate code.

All of SHAFT's smart features target the three pillars of successful test automation:

  • Scalability: The ability to run tests on multiple devices and browsers in parallel.
  • Reliability: The ability to run tests without flakiness and with detailed reporting.
  • Maintainability: The ability to easily maintain and update tests as the application changes.

Scalability

CI/CD integrationCloud device farm integrationHeadless testingParallel executionContainerized execution

Reliability

Automated synchronizationLoggingReportingScreenshots/AttachmentsVideo recording
Core for Appium/remote; shaft-video for local desktop

Maintainability

Fluent designLocator builderSmart locatorsNative WebDriver accessElement/Browser validations builderVisual validations
shaft-visual

Supported Platforms

Browsers

LinuxmacOSWindowsAndroidiOS
Google Chrome
Microsoft Edge__
Mozilla Firefox__
Apple Safari___

Apps

AndroidiOSWindows
NativeN/A
HybridN/A
FlutterN/A
WPFN/AN/A

Other

APIDatabaseCLIPDFJSONYAMLExcelProperty

Test Orchestration

TestNGJUnitCucumber