Record a test
Record a test by driving a live browser stream, where your interactions on the stream become steps.
Design reliable tests
Design reliable tests - click stable targets, keep tests focused and independent, use sequential batches only when necessary, and handle setup/teardown cleanly.
Reliable table interactions
Learn how to make table interactions more reliable by choosing the right Table search mode, using distinctive row content, and recording tables correctly.
Use asserts to verify the expected result
Why and how to end tests with assert steps, and how to use text and visual assertions.
Make your life easier with modules
Record login once as a reusable module, use it across tests, decide per step where each module variable gets its value, and end the module with an assertion so failures are easy to diagnose.
Organize tests using labels
Group tests with labels, then run or filter by label from the batch runner and test list.
Use healing or re-recording to fix broken steps
Heal individual steps after UI changes, or re-record from a step when a whole section of the flow is new.
Parametrize tests
Parameterize URLs, logins, and other inputs with variables and defaults instead of re-recording.
Access local applications
Use gateways to test apps on localhost, private IPs, or behind your corporate network.
Run tests via API
Create an API key, authenticate requests, and start or monitor test runs programmatically.
Run test batches
Execute groups of tests together with shared variables and gateways, either sequentially or in parallel.
Execute AIVA tests from CI/CD pipeline
Use the AIVA GitHub Action to run labeled test batches from a workflow on push, manually, or in your CI/CD pipeline with an API key stored as a repository secret.
Connect an AI assistant (MCP)
Connect any MCP-compatible AI assistant to the AIVA MCP server to record new tests, browse your test catalog, run tests and batches, and monitor results without leaving your assistant.