docs/extend/testing/scout.md
Scout is Kibana's modern UI and API test framework built on Playwright. It focuses on fast test execution, a good developer experience, and reusable test building blocks (e.g., fixtures, page objects and API services).
Import the right Scout package in your Scout tests:
@kbn/scout| Package | Use in tests |
|---|---|
@kbn/scout | Platform (shared baseline) |
@kbn/scout)| Package | Use in tests |
|---|---|
@kbn/scout-oblt | {icon}logo_observability Observability solution |
@kbn/scout-security | {icon}logo_security Security solution |
@kbn/scout-search | {icon}logo_elasticsearch Search solution |
::::::{note}
Fixtures, page objects, and API helpers defined in @kbn/scout can be imported by solution-specific Scout packages. When they are defined in a solution package or a plugin they will only be available to that solution or plugin.
::::::
We welcome contributions to one of the Scout packages.
| If your helper/code… | Put it… | Examples |
|---|---|---|
| Is reusable across many plugins/teams | In @kbn/scout | Generic fixtures, page objects, and API helpers |
| Is reusable but scoped to a solution | In the solution Scout package (for example @kbn/scout-security, @kbn/scout-oblt, @kbn/scout-search) | Solution workflows and domain-specific helpers |
| Is specific to one plugin or package | In your plugin or package's test/scout directory | Components specific to your plugin or package only |
Internal (Elasticians): reach out to the AppEx QA team for guidance.
External contributors: open an issue in the Kibana repository and label it with Team:QA.
No, good test design still matters.
No. Scout supports both UI and API testing with Playwright.
Often yes, especially with parallel test execution and selective testing.
In PR builds, Scout automatically detects which modules changed and runs only the relevant tests, reducing CI time. You can confirm your tests ran by looking for the affected Scout: prefix on Buildkite steps. See PR #261510 for details.
It’s easier to iterate and maintain, and it enables selective testing: PR builds automatically run only the Scout tests for affected modules.
esArchiver)? [scout-faq-ftr-services]Not directly—use Scout fixtures instead.
Existing FTR tests continue to run, and teams can migrate them to Scout incrementally over time.
It depends: pick the right test type before migrating a test. Refer to our Migrate tests to Scout guide.
Yes. See Feature flags for details on enabling flags at runtime with apiServices.core.settings() or using custom server configurations.