From 2bcef8a65658aa53194cfec1801c21c54107ce16 Mon Sep 17 00:00:00 2001 From: skalthoff <32023561+skalthoff@users.noreply.github.com> Date: Fri, 16 Jan 2026 11:12:20 -0800 Subject: [PATCH] fix(maestro): add app recovery and longer timeouts for test stability - Add launchApp: stopApp: false to mid-flow tests for crash recovery - Increase extendedWaitUntil timeouts to 15s for reliability - Fix quick actions test to use proper testID for search input --- maestro/tests/10-playlist.yaml | 6 +++++- maestro/tests/11-favorites.yaml | 6 +++++- maestro/tests/6-quickactions.yaml | 15 ++++++++++++++- maestro/tests/7-settings.yaml | 14 ++++++++++---- maestro/tests/8-album.yaml | 6 +++++- maestro/tests/9-artist.yaml | 6 +++++- 6 files changed, 44 insertions(+), 9 deletions(-) diff --git a/maestro/tests/10-playlist.yaml b/maestro/tests/10-playlist.yaml index 931990e8..58e8c70e 100644 --- a/maestro/tests/10-playlist.yaml +++ b/maestro/tests/10-playlist.yaml @@ -3,12 +3,16 @@ appId: com.cosmonautical.jellify # Playlist Management Test # Tests adding tracks to playlists and viewing playlists +# Ensure app is running - relaunch if crashed +- launchApp: + stopApp: false + # Navigate to Library tab # Use extendedWaitUntil for reliability after extended test runs - extendedWaitUntil: visible: id: "library-tab-button" - timeout: 10000 + timeout: 15000 - tapOn: id: "library-tab-button" diff --git a/maestro/tests/11-favorites.yaml b/maestro/tests/11-favorites.yaml index 33dccb96..01cbf445 100644 --- a/maestro/tests/11-favorites.yaml +++ b/maestro/tests/11-favorites.yaml @@ -3,12 +3,16 @@ appId: com.cosmonautical.jellify # Favorites Functionality Test # Tests favoriting items and viewing favorites section +# Ensure app is running - relaunch if crashed +- launchApp: + stopApp: false + # Navigate to Library tab # Use extendedWaitUntil for reliability after extended test runs - extendedWaitUntil: visible: id: "library-tab-button" - timeout: 10000 + timeout: 15000 - tapOn: id: "library-tab-button" diff --git a/maestro/tests/6-quickactions.yaml b/maestro/tests/6-quickactions.yaml index ad8fca10..badeec69 100644 --- a/maestro/tests/6-quickactions.yaml +++ b/maestro/tests/6-quickactions.yaml @@ -4,12 +4,25 @@ appId: com.cosmonautical.jellify # This test validates the quick action menu that appears when swiping on track rows # The test works with any swipe action configuration +# Ensure app is running - relaunch if crashed +- launchApp: + stopApp: false + # Start from Home tab +# Use extendedWaitUntil to handle app recovery scenarios +- extendedWaitUntil: + visible: + id: "home-tab-button" + timeout: 15000 + - tapOn: id: "home-tab-button" # Wait for content to load -- assertVisible: "Home" +- extendedWaitUntil: + visible: + text: "Home" + timeout: 10000 # Try to navigate to Recently Played, but this may not exist for new users - tapOn: diff --git a/maestro/tests/7-settings.yaml b/maestro/tests/7-settings.yaml index 598897d5..ab9e1f46 100644 --- a/maestro/tests/7-settings.yaml +++ b/maestro/tests/7-settings.yaml @@ -1,10 +1,16 @@ appId: com.cosmonautical.jellify --- -# Wait for app to be ready, then navigate to Settings tab -- assertVisible: - id: "settings-tab-button" +# Ensure app is running - relaunch if crashed +- launchApp: + stopApp: false + +# Wait for app to be ready, then navigate to Settings tab +# Use extendedWaitUntil for reliability after extended test runs +- extendedWaitUntil: + visible: + id: "settings-tab-button" + timeout: 15000 -# Navigate to Settings tab using text - tapOn: id: "settings-tab-button" diff --git a/maestro/tests/8-album.yaml b/maestro/tests/8-album.yaml index 0ebfb801..83f04779 100644 --- a/maestro/tests/8-album.yaml +++ b/maestro/tests/8-album.yaml @@ -3,12 +3,16 @@ appId: com.cosmonautical.jellify # Album Detail and Playback Test # Tests browsing albums and playing from album view +# Ensure app is running - relaunch if crashed +- launchApp: + stopApp: false + # Navigate to Library tab # Use extendedWaitUntil for reliability after extended test runs - extendedWaitUntil: visible: id: "library-tab-button" - timeout: 10000 + timeout: 15000 - tapOn: id: "library-tab-button" diff --git a/maestro/tests/9-artist.yaml b/maestro/tests/9-artist.yaml index 0fa81fb8..577364b5 100644 --- a/maestro/tests/9-artist.yaml +++ b/maestro/tests/9-artist.yaml @@ -3,12 +3,16 @@ appId: com.cosmonautical.jellify # Artist Detail Navigation Test # Tests browsing artist pages, discography, and tracks +# Ensure app is running - relaunch if crashed +- launchApp: + stopApp: false + # Navigate to Library tab # Use extendedWaitUntil for reliability after extended test runs - extendedWaitUntil: visible: id: "library-tab-button" - timeout: 10000 + timeout: 15000 - tapOn: id: "library-tab-button"