Skip to content

Bugfix MTE-5449 Option to ensure element to be in the view before taking action#34217

Draft
clarmso wants to merge 1 commit into
mainfrom
cs/MTE-5449-l10n-testSettings
Draft

Bugfix MTE-5449 Option to ensure element to be in the view before taking action#34217
clarmso wants to merge 1 commit into
mainfrom
cs/MTE-5449-l10n-testSettings

Conversation

@clarmso

@clarmso clarmso commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

📜 Tickets

Jira ticket

💡 Description

Important: Must be used together with updated MappaMundi: mozilla-mobile/MappaMundi#24. This change would NOT compile without it.

Some non Latin locales (including km, my, ru, ur, ab, bg) fail to have all settings L10n screenshots available. The L10n test testSettings attempts to tap on the menu item that's outside of the view. While this approach works in en-US, fr, es etc, but this approach does not work consistently mainly for Cyrillic character based locales.

Summary of before and after the change. After the change, I get all testSettings screenshots for 6 out of 7 problematic locales.

┌──────────────┬────────────┬──────────┬──────────┬───────────────────────┐
│    Locale    │   Script   │  Before  │  After   │        Status         │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ km (Khmer)   │ Khmer      │ 18       │ 21       │ ✅ full               │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ my (Burmese) │ Burmese    │ 18       │ 22       │ ✅ full               │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ ru (Russian) │ Cyrillic   │ 18       │ 21       │ ✅ full               │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ ur (Urdu)    │ Arabic/RTL │ 18       │ 21       │ ✅ full               │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ ab           │ Cyrillic   │ ~8       │ 21       │ ✅ full (former worst │
│ (Abkhazian)  │            │          │          │  case)                │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ zh-TW        │ Han        │ (flaked) │ complete │ ✅ all 15 screens +   │
│ (Chinese)    │            │          │          │ main                  │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ en-US        │ Latin      │ pass     │ pass     │ ✅ no regression      │
│ (control)    │            │          │          │                       │
├──────────────┼────────────┼──────────┼──────────┼───────────────────────┤
│ bg           │            │          │          │ ⚠️ known-flaky        │
│ (Bulgarian)  │ Cyrillic   │ 18       │ flaky    │ (gate-signal issue,   │
│              │            │          │          │ likely fixable)       │
└──────────────┴────────────┴──────────┴──────────┴───────────────────────┘

I have run all smoke tests and all full functional tests. No new test failures have been introduced.

Open issue
bg locale still has issues navigating the settings menu.

🎥 Demos

testSettings in en-US locale:
https://github.com/user-attachments/assets/da2da999-b490-4c20-b30e-0e28621ab771

Before After
Demo

📝 Checklist

  • I filled in the ticket numbers and a description of my work
  • I updated the PR name to follow our PR naming guidelines
  • I ensured unit tests pass and wrote tests for new code
  • If working on UI, I checked and implemented accessibility (Dynamic Text and VoiceOver)
  • If adding telemetry, I read the data stewardship requirements and will request a data review
  • If adding or modifying strings, I read the guidelines and will request a string review from l10n
  • If needed, I updated documentation and added comments to complex code

…tion

Localized Settings rows can be pushed off-screen (present in the accessibility
tree but not hittable), so MappaMundi taps fail and testSettings aborts, dropping
the remaining screenshots. Pass MappaMundi's opt-in scrollIntoViewWithin on the
Settings navigation taps so the target row is scrolled into view before tapping,
and make forEachScreen fall back to swiping the table (with a no-progress guard)
when a cell is offscreen.

Depends on the MappaMundi scrollIntoViewWithin addition.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@clarmso clarmso added the Do Not Merge ⛔️ This issue is a work in progress and is not ready to land label Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Do Not Merge ⛔️ This issue is a work in progress and is not ready to land

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant