[UI Test] Convert JumpBackInTests to new framework
#33728 opened on May 11, 2026
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.
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