mozilla-mobile/firefox-ios

[UI Test] Convert JumpBackInTests to new framework

クローズ

#33,728 opened on 2026/05/11

 (1 件のコメント) (0 件のリアクション) (1 人の担当者)Swift (3,203 件のフォーク)batch import
Contributor OKGood first issueeng:tae-conversion

Repository metrics

Stars
 (12,950 個のスター)
PR merge metrics
 (平均マージ 3d 2h) (30d で 221 merged PRs)

説明

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

コントリビューターガイド