Commit 321a0b4
Migrate E2E flows to the native input field (#9016)
Task/Issue URL:
https://app.asana.com/1/137249556945/project/1174433894299346/task/1215641620311440?focus=true
Tech Design URL (if applicable):
### Description
When the privacy config enables **native input** (the unified input
field), the legacy omnibar (`omnibarTextInput`) is replaced by
`inputField` on the new-tab page and becomes a disabled view behind an
`omnibarTextInputClickCatcher` overlay on loaded pages. Several E2E
Maestro flows drove `omnibarTextInput` directly and broke under that
config.
This PR migrates those flows to the native input and restructures
release-blocker coverage to test the native input instead of the
deprecated Input Screen.
**Selector mapping (native input config):**
- NTP / new tab (input widget auto-open) → tap `inputField`
- Loaded page, edit the URL → tap `omnibarTextInputClickCatcher` to open
the native input, then `eraseText` / `copyTextFrom` `inputField` (opens
pre-filled with the full URL)
- Read-only address check (no preceding tap) → keep `copyTextFrom
omnibarTextInput` (the disabled field still holds the displayed URL)
**Flow migrations**
- Privacy flows 6 (Multi-tab) & 14 (no-session-after-fire)
- Security `AddressBarSpoof` 1, 2, 4, 5, 6, 7, 8
- Release flows: Multiple tabs, General website browsing, Fire button
(×2), bookmarks (×3), favorites (×2) — `visit_site` now asserts
`inputField` presence instead of the old `"Search"` omnibar hint (absent
in this config)
**Release-blocker restructuring**
- Dropped `releaseTest` from the deprecated `input_screen` flows (kept
`inputScreenTest`)
- Added a **Unified Input Field** release-blocker step to the full
nightly suite, running `unifiedInputTest` on the internal binary (the
unified flows force their toggles via `launchApp` arguments, which only
apply on internal — so they can't ride the `releaseTest` tag, which runs
on the play binary)
- Removed the Unified Input Field step from the non-release-blocker
suite so the native input tests don't run twice
- Removed the flaky `change duck.ai model and reasoning effort` unified
flow (asserted `modelPickerChip` visibility; very flaky, low value)
### Steps to test this PR
_E2E against a native-input privacy config_
- [ ] Dispatch `e2e-maestro.yml` with `tags=privacyTest` → 14/14 pass
- [ ] Dispatch `e2e-maestro.yml` with `tags=securityTest` → 7/7 pass
- [ ] Dispatch `e2e-maestro.yml` with `tags=releaseTest` → migrated
release flows pass (Input Screen flows no longer included)
- [ ] `unifiedInputTest` runs as a release blocker in the full nightly
suite (internal binary), and no longer in the non-blockers suite
### UI changes
| Before | After |
| ------ | ----- |
| n/a — test-only change | n/a |
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Test-only and workflow changes; no app runtime or production logic
modified.
>
> **Overview**
> Updates Maestro E2E flows so they target the **native unified input**
(`inputField` on NTP, `omnibarTextInputClickCatcher` + `inputField` when
editing on a loaded page) instead of driving `omnibarTextInput`
directly, which breaks when privacy config enables native input.
>
> **Release, privacy, and security flows** — bookmarks, favorites, tabs,
browsing, fire button, privacy tests 6/14, and address-bar spoof tests
now use the new selectors; several security flows replace `doubleTapOn`
with tap + `eraseText`, and one spoof test adds an earlier
`assertNotVisible` before opening the overlay input.
>
> **Nightly CI** — adds a **Unified Input Field** release-blocker step
to the full suite (`unifiedInputTest` on the internal APK); removes that
step from the non-blockers suite to avoid duplicate runs. Deprecated
**Input Screen** flows drop the `releaseTest` tag (kept as
`inputScreenTest` only).
>
> **Removed** — the flaky unified Duck.ai model/reasoning Maestro flow
and its shared subflow.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
631c7e7. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 019d2dd commit 321a0b4
27 files changed
Lines changed: 83 additions & 220 deletions
File tree
- .github/workflows
- .maestro
- bookmarks
- browsing
- favorites
- fire_button
- input_screen
- privacy_tests
- security_tests
- tabs
- unified_input_screen
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
289 | 311 | | |
290 | 312 | | |
291 | 313 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | 130 | | |
150 | 131 | | |
151 | 132 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
0 commit comments