Commit 190b755
[ux] migrate synthetics journeys to scout (elastic#253366)
Closes elastic/appex-qa-team#716
## Summary
This PR migrates all running `@elastic/synthetics` journeys in the ux
plugin into Scout test specs.
Since Scout tests are always run, the opt-in pipeline step has been
removed.
### Journeys migrated
| Original journey | Scout spec |
|---|---|
| `core_web_vitals.ts` | `core_web_vitals.spec.ts ` |
| `inp.journey.ts` | `inp.spec.ts` |
| `page_views.ts` | `page_views.spec.ts` |
| `url_ux_query.journey.ts` | `ux_url_query.spec.ts` |
| `ux_client_metrics.journey.ts` | `ux_client_metrics.spec.ts` |
| `ux_js_errors.journey.ts` | `ux_js_errors.spec.ts` |
| `ux_long_task_metric_journey.ts` | `ux_long_task_metrics.spec.ts` |
| `ux_visitor_breakdown.journey.ts` | `ux_visitor_breakdown.spec.ts` |
Re-enabled (was commented out in original index.ts): page_views.ts
### New Scout directory structure
```
x/test/scout/ui/
├── playwright.config.ts
├── fixtures/
│ ├── index.ts (extends ObltTestFixtures with UX page objects)
│ ├── constants.ts (ES archive paths, default query params)
│ └── page_objects/
│ ├── index.ts
│ └── ux_dashboard.ts (navigation, loading waits, chart locators)
└── tests/
├── global.setup.ts (loads ES archives + INP test data)
└── *.spec.ts (8 test specs)
```
ES archive fixtures remain at `ux/e2e/fixtures/` (rum_8.0.0,
rum_test_data).
### Key fixes during migration
- Updated Core Web Vitals labels: replaced deprecated `"First input
delay"` with `"Interaction to next paint"` (INP replaced FID)
- Fixed brittle selectors: replaced text-concatenation locators with
`data-test-subj` selectors (e.g., `pvBreakdownFilter` for breakdown
dropdown)
- Fixed lazy-loaded sections: `LoadWhenInView` components (JS Errors,
Visitor Breakdown) require scrolling the placeholder into the viewport
to trigger the intersection observer
- Fixed ambiguous text matching: used `{ exact: true }` for browser
legend labels that match multiple elements (e.g., `"Chrome"` vs `"Chrome
Mobile"`)
- Removed buggy date picker override: original journeys set date range
via URL params (2020–2021) then overrode to 2022 via date picker —
fixture data only exists in 2020–2021, so the override was a latent bug
- Guarded INP data against duplicates: added idempotency check before
indexing INP test transactions
### CI changes
- Added ux to `.buildkite/scout_ci_config.yml`
- Removed `ux_plugin_e2e.yml` pipeline and `ux_synthetics_e2e.sh` script
- Removed `ux/.buildkite/` flaky test pipeline
- Cleaned up `ftr_oblt_stateful_configs.yml`
Made with [Cursor](https://cursor.com)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 45aebb3)1 parent c032f32 commit 190b755
File tree
51 files changed
+625
-1209
lines changed- .buildkite
- pipelines/pull_request
- scripts
- pipelines/pull_request
- steps/functional
- x-pack/solutions/observability/plugins
- observability/public/pages/overview/components/sections/ux/core_web_vitals
- synthetics/e2e
- page_objects
- synthetics/journeys
- alert_rules
- monitor_details_page
- uptime/e2e
- page_objects
- ux
- .buildkite/pipelines
- e2e
- journeys
- page_objects
- public/components/app/rum_dashboard/page_views_trend
- test/scout/ui
- fixtures
- page_objects
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
51 files changed
+625
-1209
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | 18 | | |
21 | 19 | | |
22 | 20 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
125 | 124 | | |
126 | 125 | | |
127 | 126 | | |
| |||
This file was deleted.
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
Lines changed: 33 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
9 | 41 | | |
10 | 42 | | |
11 | 43 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
0 commit comments