Deployment tags
Deployment tags declare where a test suite is expected to run. Add them to every test.describe() (or apiTest.describe() / spaceTest.describe()), then use --grep when running tests to target a specific environment.
Tags follow this shape:
@<location>-<arch>-<domain>
Where:
- location:
localorcloud - arch:
statefulorserverless - domain:
classic,search,observability_complete,security_complete, …
Use the tags helper (see the full list below) to declare where your tests should run. By default, each helper expands to both @local-* and @cloud-* targets:
test.describe(
'My suite',
{ tag: [...tags.stateful.classic, ...tags.serverless.security.complete] },
() => {
// ...
}
);
This is equivalent to assigning all of these tags:
@local-stateful-*(local stateful)@cloud-stateful-*(Elastic Cloud)@local-serverless-security_complete(local serverless)@cloud-serverless-security_complete(Elastic Cloud)
To restrict a test to local environments only, write the tag strings explicitly:
test.describe(
'My suite',
{ tag: ['@local-stateful-classic', '@local-serverless-security_complete'] },
() => {
// ...
}
);
This test will only run locally (stateful classic and serverless Security complete tier), and will be skipped by Elastic Cloud pipelines.
Use this tag for platform specs that need to run across every standard deployment type. It expands to:
tags.stateful.alltags.serverless.searchtags.serverless.observability.completetags.serverless.security.complete
Workplace AI is excluded because it has no stateful counterpart.
tags.deploymentAgnostic runs your test across all solutions, which is expensive. If your test lives in a solution module, use explicit targets instead (e.g. [...tags.stateful.classic, ...tags.serverless.observability.complete]).
| Helper | Compatible with solution view |
|---|---|
tags.stateful.all |
All space solution views |
tags.stateful.classic |
Classic |
tags.stateful.search |
Elasticsearch |
tags.stateful.observability |
Observability |
tags.stateful.security |
Security |
The target solution view indicates the solution view the test is intended for, but is not enforced at test execution time. To set the solution view in a test, use scoutSpace.setSolutionView().
| Helper | What it targets |
|---|---|
tags.serverless.all |
All serverless targets |
| Helper | Project type |
|---|---|
tags.serverless.search |
Search |
| Helper | Project type |
|---|---|
tags.serverless.observability.all |
All Observability project tiers |
tags.serverless.observability.complete |
Observability (Complete) |
tags.serverless.observability.logs_essentials |
Observability (Logs Essentials) |
| Helper | Project type |
|---|---|
tags.serverless.security.all |
All Security project tiers |
tags.serverless.security.complete |
Security (Complete) |
tags.serverless.security.essentials |
Security (Essentials) |
tags.serverless.security.ease |
Security (EASE) |
| Helper | Project type |
|---|---|
tags.serverless.workplaceai |
Workplace AI |
Use tags.performance for performance tests. It assigns the @perf tag.
For the authoritative list (and the exact tag strings), see src/platform/packages/shared/kbn-scout/src/playwright/tags.ts or just rely on editor autocomplete.
Use tags to include suites where they make sense, instead of skipping suites after the fact.