Class SHAFT

java.lang.Object
com.shaft.driver.SHAFT
Direct Known Subclasses:
$

public class SHAFT extends Object
The main entry point for the SHAFT test automation framework.

SHAFT provides a unified, fluent API for automating Web, Mobile, API, CLI, and Database interactions. All subsystems are accessed through nested static classes:

  • SHAFT.GUI – Browser, element, touch, alert, and SikuliX actions.
  • SHAFT.API – RESTful API interactions via REST Assured.
  • SHAFT.Auth – Cached-login setup that reuses a saved browser storage state.
  • SHAFT.CLI – Terminal and file-system operations.
  • SHAFT.DB – Database queries and result handling.
  • SHAFT.Validations – Standalone hard and soft assertions.
  • SHAFT.TestData – JSON, Excel, CSV, and YAML test-data readers.
  • SHAFT.Properties – Runtime configuration management.
  • SHAFT.Report – Custom logging and attachments for Allure reports.

Quick-start example:

SHAFT.GUI.WebDriver driver = new SHAFT.GUI.WebDriver();
driver.browser().navigateToURL("https://example.com")
      .and().assertThat().browser().title().contains("Example");
driver.quit();
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Manages a REST API session and exposes a fluent interface for building and executing HTTP requests (GET, POST, PUT, PATCH, DELETE).
    static class 
    Playwright-style cached-authentication helper: runs a login flow once per name and caches the resulting browser storage state (cookies + localStorage) to disk so that subsequent calls — including from other tests or threads — can reuse the same authenticated session instead of repeating the UI login.
    static class 
    Provides access to command-line and file-system operations.
    static class 
    Controls current-thread HTTP contract recording and validation for browser and API traffic.
    static class 
    Provides database connectivity and query execution.
    static class 
    Contains GUI-related subsystems for web and mobile test automation.
    static class 
    Exposes SHAFT's runtime configuration properties.
    static class 
    Utility class for emitting log messages and attaching artifacts to the Allure execution report.
    static class 
    Provides test data readers for various file formats.
    static class 
    Provides standalone assertion and verification builders for use outside of a WebDriver context (e.g., API response validation, object comparison).
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Methods inherited from class Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SHAFT

      public SHAFT()