mozilla-mobile/firefox-ios

[UI Test] Convert JumpBackInTests to new framework

Fermée

#33 728 ouverte le 11 mai 2026

 (1 commentaire) (0 réaction) (1 personne assignée)Swift (3 203 forks)batch import
Contributor OKGood first issueeng:tae-conversion

Métriques du dépôt

Stars
 (12 950 étoiles)
Métriques de merge PR
 (Merge moyen 3j 2h) (221 PRs mergées en 30 j)

Description

Description

The Mobile test eng team is transitioning UI test automation to the TAE framework as part of improving scalability and developer productivity.

We will be opening different issues per test suite to get help with this migration.

JumpBackInTests

3 tests, all with heavy navigator.goto(TabTray) / navigator.performAction / navigator.openURL usage. The Jump Back In section is part of the homepage, following the same pattern as NewsScreen. Needs 2 new files.

New Selectors/JumpBackInSelectors.swift and PageScreens/JumpBackInScreen.swift with the following methods:

  • scrollToJumpBackInSection() — replaces the scrollDown() helper (swipes up until "Switch Your Default Browser" is gone on iPhone)
  • assertSectionExists()
  • assertItemExists(title:) / assertItemNotExists(title:)
  • tapItem(title:)
  • longPressFirstItem()
  • assertContextMenuExists() — validates context menu has new tab, private, bookmark, share buttons

Changes to JumpBackInTests.swift:

  • Add jumpBackInScreen, browserScreen, toolbarScreen, tabTrayScreen + setUp()
  • Replace scrollDown() and closeKeyboard() helpers with screen calls
  • Replace all navigator.* calls — mapping:
    • navigator.openURL(...) → browserScreen.navigateToURL(...)
    • navigator.goto(TabTray) → toolbarScreen.tapOnTabsButton()
    • navigator.performAction(Action.OpenNewTabFromTabTray) → tabTrayScreen.tapOnNewTabButton()
    • navigator.toggleOn(userState.isPrivate, ...) → tabTrayScreen.switchToPrivateBrowsing() (already exists)
    • navigator.toggleOff(userState.isPrivate, ...) → new tabTrayScreen.switchToRegularBrowsing() (add to TabTrayScreen)
    • navigator.nowAt(...) → remove

Also needs a new tabTrayScreen.closeTab(title:) method in TabTrayScreen to replace the inline #available block that closes a tab by title.

Documentation Wiki: https://github.com/mozilla-mobile/firefox-ios/wiki/Test-Automation-Efficiency-UI-Testing-Guide-for-Firefox-iOS

Examples All UI tests that have the // Smoketest comment are good to look at since those have been migrated.

Thank you!

┆Issue is synchronized with this Jira Task

Guide contributeur