Skip to main content

Testing API updates

Pick the test surface that owns the behavior, then follow its full guide for exact Java APIs and lifecycle rules.

Playwright GUI backend

What it does
Runs SHAFT GUI actions through Microsoft Playwright.
Why use it
Choose Playwright while retaining SHAFT action and evidence APIs.
Configure
Install Playwright browsers and create a new SHAFT.GUI.Playwright session.
Use it
Navigate, act, validate, then quit the session.
Open full guide

GraphQL API actions

What it does
Sends GraphQL operations through SHAFT API actions.
Why use it
Test GraphQL queries and mutations with SHAFT validation and evidence.
Configure
Create the API service and provide the endpoint and operation payload.
Use it
Send the operation and validate the typed response.
Open full guide

Typed API responses and retry policies

What it does
Maps supported API responses to Java types and applies explicit retry policies.
Why use it
Keep response handling readable and retry only intended transient failures.
Configure
Choose the response type and documented retry policy for the request.
Use it
Send the request, deserialize the body, then validate its fields.
Open full guide

OpenAPI coverage

What it does
Compares exercised API operations with an OpenAPI description.
Why use it
See which documented endpoints and operations the suite did not cover.
Configure
Provide the OpenAPI document to the contract workflow.
Use it
Run the API suite and review the generated coverage output.
Open full guide

Network interception

What it does
Observes, modifies, or stubs supported browser network traffic.
Why use it
Test failure paths and isolate the UI from unstable dependencies.
Configure
Register the documented route or interception handler before navigation.
Use it
Exercise the page, assert the intercepted behavior, then remove the handler.
Open full guide

Authentication state and HAR replay

What it does
Reuses browser authentication storage and recorded HAR traffic in supported Playwright sessions.
Why use it
Skip repeated login setup and replay stable network fixtures.
Configure
Create an approved storage-state or HAR file without secrets committed to source.
Use it
Load it when creating the session, then run the focused journey.
Open full guide

UI and API contract replay

What it does
Records and checks UI and API interactions against reviewable contracts.
Why use it
Detect behavior drift without relying only on end-to-end assertions.
Configure
Capture a baseline contract through the documented workflow.
Use it
Replay it in CI and review intentional contract changes.
Open full guide

Cross-backend browser and mobile namespaces

What it does
Organizes supported Selenium, Playwright, and mobile actions under explicit SHAFT namespaces.
Why use it
Make the active backend clear while keeping familiar action patterns.
Configure
Create the driver type required by the test surface.
Use it
Call actions through that driver's browser, element, mobile, or validation namespaces.
Open full guide

Focused validations

What it does
Provides scoped browser, element, object, number, file, and API assertion builders.
Why use it
State the expected behavior through the validation surface that owns it.
Configure
Choose assertThat for hard stops or verifyThat for collected soft checks.
Use it
Build the matching validation and execute the test normally.
Open full guide

ARIA snapshots and visual baselines

What it does
Checks accessible structure and rendered appearance against reviewed baselines.
Why use it
Catch semantic and visual drift that functional assertions miss.
Configure
Create the initial approved snapshot or baseline in a stable environment.
Use it
Compare on later runs and review every intentional baseline update.
Open full guide

Flutter mobile API

What it does
Adds Flutter-aware actions for supported Appium sessions.
Why use it
Interact with Flutter controls through their native automation surface.
Configure
Install the required Appium Flutter driver and create the documented session.
Use it
Locate Flutter elements and call the supported mobile actions.
Open full guide

Android performance evidence

What it does
Collects supported Android performance measurements with the test evidence.
Why use it
Connect mobile performance observations to the journey that produced them.
Configure
Enable the documented Android performance collection for a compatible session.
Use it
Run the focused journey and inspect its attached measurements.
Open full guide

Image targets and OCR scroll preview

What it does
Uses published image targets, while recognized-text targets remain an unreleased shaft-ocr preview.
Why use it
Reach visible controls in image-heavy or native interfaces when a stable element locator is unavailable.
Configure
Add shaft-visual for published image targeting. Wait for a containing release before adding shaft-ocr.
Use it
Scroll to a stable image target now; evaluate OCR targeting only in an isolated preview environment.
Open full guide

Remote terminal, SFTP, SSH, and port forwarding

What it does
Runs supported remote file and shell operations, including SSH port forwarding.
Why use it
Include remote-system setup and checks in the test workflow.
Configure
Create the documented SSH terminal session with approved host credentials.
Use it
Open the connection, perform the bounded operation, validate its result, then close it.
Open full guide

Create a supported Playwright session explicitly:

SHAFT.GUI.Playwright driver = new SHAFT.GUI.Playwright();