Skip to content

Commit b6be27f

Browse files
chore: revert
chore: fix tests chore: update ios test timeout chore: inrease maestro driver setup timeout chore: address flaky tests chore: fix tests chore: revert chore: revert
1 parent 6a8677c commit b6be27f

6 files changed

Lines changed: 48 additions & 4 deletions

File tree

.github/workflows/NativePipeline.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ jobs:
751751
# truncated — at 20 min several shards (accordion, background-image, bottom-sheet,
752752
# color-picker, safe-area-view) were cancelled mid-flow. If a shard still hits 30 the cause
753753
# is real app instability, not the cap.
754-
timeout-minutes: 30
754+
timeout-minutes: 35
755755
strategy:
756756
max-parallel: 4
757757
matrix:

maestro/helpers/helpers.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,24 @@ stop_recording() {
7878
REC_FILE=""
7979
}
8080

81+
# Function to clean up stale XCTest processes (iOS only)
82+
cleanup_xctest_processes() {
83+
if [ "$PLATFORM" != "ios" ]; then
84+
return 0
85+
fi
86+
echo "🧹 Cleaning up stale XCTest processes..."
87+
# Kill any leftover XCTest runner processes that might be blocking driver initialization
88+
pkill -9 -f "XCTRunner" 2>/dev/null || true
89+
pkill -9 -f "xctest" 2>/dev/null || true
90+
pkill -9 -f "maestro.*driver" 2>/dev/null || true
91+
sleep 2
92+
}
93+
8194
# Function to restart the iOS simulator
8295
restart_simulator() {
8396
echo "🔄 Restarting iOS Simulator..."
97+
# Clean up XCTest processes first
98+
cleanup_xctest_processes
8499
# Shut down whatever is booted; the device is auto-selected in prepare_ios.sh,
85100
# so we don't depend on a hardcoded device name here.
86101
xcrun simctl shutdown all || true

maestro/run_maestro_jsactions_tests.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,16 @@ run_jsactions_tests() {
9797
fi
9898
}
9999

100+
# Clean up any stale XCTest processes before starting (iOS only)
101+
if [ "$PLATFORM" == "ios" ]; then
102+
cleanup_xctest_processes
103+
fi
104+
105+
# Fast-fail smoke check before running jsActions tests (same as widget tests)
106+
if ! smoke_check; then
107+
exit 1
108+
fi
109+
100110
# Run jsActions tests
101111
run_jsactions_tests
102112
if [ $? -ne 0 ]; then

packages/pluggableWidgets/bottom-sheet-native/e2e/specs/maestro/Botton_sheet_expanding_fullscreen.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ appId: "${APP_ID}"
88
text: "Bottom Sheet"
99
- tapOn:
1010
text: "Expanding fullscreen"
11-
# Because the image loading can take some time due to resources on emulator, we need to wait for the image to be visible
12-
- extendedWaitUntil:
11+
# Because the image loading and animation can take some time due to resources on emulator, we need to wait
12+
- extendedWaitUntil:
1313
visible: randText # Any random text that does not exist in the UI
1414
optional: true # This should be true so that the test won't fail
15-
timeout: 10000 # 10 seconds
15+
timeout: 15000 # 15 seconds to allow for animation to complete
1616
- takeScreenshot:
1717
path: "maestro/images/actual/${PLATFORM}/bottom_sheet_expanding_fullscreen"
1818
- assertScreenshot:

packages/pluggableWidgets/bottom-sheet-native/e2e/specs/maestro/Modal_basic_non_native.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ appId: "${APP_ID}"
88
text: "Bottom Sheet"
99
- tapOn:
1010
text: "Modal basic non native"
11+
# Wait for the page to fully load before tapping Open
12+
- extendedWaitUntil:
13+
visible: "Open"
14+
timeout: 10000
1115
- tapOn:
1216
text: "Open"
1317

packages/pluggableWidgets/intro-screen-native/e2e/specs/maestro/IntroScreen.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,29 @@ appId: "${APP_ID}"
3939
timeout: 5000
4040
- tapOn:
4141
text: "OK"
42+
# Wait for dialog to dismiss before navigating back
43+
- extendedWaitUntil:
44+
visible: "Go back"
45+
timeout: 3000
4246
- tapOn: "Go back"
47+
# Wait for widgets menu to appear before tapping intro screen again
48+
- extendedWaitUntil:
49+
visible: "Widgets menu"
50+
timeout: 5000
4351
- tapOn:
4452
text: "Intro screen"
4553
- extendedWaitUntil:
4654
visible: "Active slide: 2"
4755
timeout: 5000
4856
- tapOn:
4957
text: "NEXT"
58+
# Wait for slide transition to complete - longer timeout for Android emulator
59+
- extendedWaitUntil:
60+
visible: "Active slide: 3"
61+
timeout: 10000
62+
- extendedWaitUntil:
63+
visible: "FINISH"
64+
timeout: 10000
5065
- tapOn:
5166
text: "FINISH"
5267
- extendedWaitUntil:

0 commit comments

Comments
 (0)