Back to Kibana

Scout [scout]

docs/extend/scout.md

9.4.04.9 KB
Original Source

Scout [scout]

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).

Start here [scout-start-here]

Scout benefits [scout-main-features]

  • Parallel execution: run UI suites in parallel against the same deployment.
  • Co-located tests: keep tests close to plugin code for easier iteration and maintenance.
  • Deployment-agnostic: write tests once, then use tags to declare where they should run (stateful/serverless).
  • Fixture-based: fixtures cover auth, data setup, clients, and common workflows.
  • Better debugging: use Playwright UI Mode.
  • Reporting: we capture test events that power our dashboards (for example, skipped tests, flaky tests, and more).
  • Reusability: reuse or write reusable fixtures, page objects and API helpers to reduce duplication.
  • Follows modern best practices: check out our Scout best practices.

Scout packages [scout-packages]

Import the right Scout package in your Scout tests:

  • Platform-owned tests@kbn/scout
PackageUse in tests
@kbn/scoutPlatform (shared baseline)
  • Solution-owned tests → your solution Scout package (it builds on @kbn/scout)
PackageUse 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. ::::::

Contribute to Scout when possible [contribute-to-scout-when-possible]

We welcome contributions to one of the Scout packages.

If your helper/code…Put it…Examples
Is reusable across many plugins/teamsIn @kbn/scoutGeneric fixtures, page objects, and API helpers
Is reusable but scoped to a solutionIn 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 packageIn your plugin or package’s test/scout directoryComponents specific to your plugin or package only

Need help?

  • Internal (Elasticians): reach out to the AppEx QA team in the #kibana-scout Slack channel for guidance.

  • External contributors: open an issue in the Kibana repository and label it with Team:QA.

FAQ [scout-faq]

Q: Does Scout prevent flaky tests? [scout-faq-flakes]

No—good test design still matters.

Q: Is Scout designed to be just a Playwright UI test runner? [scout-faq-ui-only]

No. Scout supports both UI and API testing with Playwright.

Q: Are test runs going to be faster? [scout-faq-faster]

Often, yes—especially with parallel test execution.

Q: Why is it a good idea for tests to be close to the plugin code? [scout-faq-colocation]

It’s easier to iterate and maintain, and it can enable smarter test selection in the future.

Q: Can I use FTR services in Scout (for example, esArchiver)? [scout-faq-ftr-services]

Not directly—use Scout fixtures instead.

Q: What happens to FTR tests? [scout-faq-ftr-tests]

Existing FTR tests continue to run, and teams can migrate them to Scout incrementally over time.

Q: Does Scout support feature flags? [scout-faq-feature-flags]

Yes. See Feature flags for details on enabling flags at runtime with apiServices.core.settings() or using custom server configurations.