Lab
Lab is the Ferret test runner. It discovers FQL and YAML test files, prepares parameters and local fixture services, executes each test through a Ferret runtime, and reports the result.
Use Lab when you want repeatable checks for extraction scripts, browser-backed flows, local static fixtures, mock REST APIs, or runtime compatibility.
Introduction
Overview
How Lab runs tests and where it fits with Ferret runtimes.
Setup
Installation
Install Lab from releases, Docker, or source.
Test authoring
Writing Tests
Write FQL unit tests and YAML query/assert suites.
Test execution
Running Tests
Run local, HTTP, and Git-hosted test files with parameters and waits.
Local services
Static File Server
Serve fixture directories during tests or standalone.
Local services
Mock API Server
Serve OpenAPI-described REST endpoints during tests or standalone.
Execution control
Runners
Control concurrency, retries, repeated runs, timeouts, and reporters.
Remote runtime
HTTP Runtime
Run tests against a remote Ferret HTTP runtime.
Local runtime
Binary Runtime
Run tests through an external Ferret-compatible binary.
Browser runtime
CDP
Use browser-backed FQL with Lab and the selected runtime.
Reference
Configuration
Reference Lab flags, defaults, environment variables, and runtime params.
Automation
CI
Run Lab in pipelines with waits, retries, Docker, and local fixtures.