Skip to content

Commit 2f5cc52

Browse files
cortinicofacebook-github-bot
authored andcommitted
Add deep-link Maestro flows for RNTester basics (#58480)
Summary: Add Maestro coverage for portable RNTester interaction scenarios using direct example deep links. The flows cover alerts, animations, appearance, filters, text input, and touchables without screenshot baselines. Changelog: [Internal] Differential Revision: D119484759
1 parent 3e6b2bf commit 2f5cc52

9 files changed

Lines changed: 142 additions & 3 deletions

File tree

‎.github/workflows/maestro-cloud-rntester.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
test:
4747
name: Maestro Cloud ${{ inputs.platform }} RNTester
4848
runs-on: ubuntu-latest
49-
timeout-minutes: 75
49+
timeout-minutes: 105
5050
steps:
5151
- name: Checkout
5252
uses: actions/checkout@v6
@@ -84,7 +84,7 @@ jobs:
8484
env: |
8585
APP_ID=${{ inputs.app-id }}
8686
maestro-cli-version: 2.6.1
87-
timeout: 60
87+
timeout: 90
8888
- name: Check Maestro Cloud result
8989
if: always()
9090
env:

‎.github/workflows/test-all.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ jobs:
186186
app-id: com.meta.RNTester.localDevelopment
187187
device-model: iPhone-17-Pro
188188
device-os: iOS-26-2
189-
exclude-tags: android-only
189+
exclude-tags: android-only,local-screenshot-baseline
190190
secrets: inherit
191191

192192
test_e2e_ios_rntester:
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- launchApp
4+
- stopApp
5+
- openLink: rntester://example/AlertExample/default-button
6+
- runFlow: ./helpers/confirm-open-link.yml
7+
- extendedWaitUntil:
8+
visible:
9+
id: 'alert-with-default-button'
10+
timeout: 120000
11+
- tapOn:
12+
id: 'alert-with-default-button'
13+
- assertVisible: 'An external USB drive has been detected!'
14+
- tapOn: 'OK'
15+
- openLink: rntester://example/AlertExample/three-buttons
16+
- runFlow: ./helpers/confirm-open-link.yml
17+
- extendedWaitUntil:
18+
visible:
19+
id: 'alert-with-three-buttons'
20+
timeout: 30000
21+
- tapOn:
22+
id: 'alert-with-three-buttons'
23+
- assertVisible: 'Do you want to save your changes?'
24+
- tapOn: 'Cancel'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- launchApp
4+
- stopApp
5+
- openLink: rntester://example/Animated/fadeInView
6+
- runFlow: ./helpers/confirm-open-link.yml
7+
- extendedWaitUntil:
8+
visible:
9+
id: 'toggle-button'
10+
timeout: 120000
11+
- assertVisible:
12+
id: 'fade-in-view'
13+
- tapOn:
14+
id: 'toggle-button'
15+
- assertNotVisible:
16+
id: 'fade-in-view'
17+
- tapOn:
18+
id: 'toggle-button'
19+
- assertVisible:
20+
id: 'fade-in-view'
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- launchApp
4+
- stopApp
5+
- openLink: rntester://example/AppearanceExample
6+
- runFlow: ./helpers/confirm-open-link.yml
7+
- extendedWaitUntil:
8+
visible: 'useColorScheme hook'
9+
timeout: 120000
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- launchApp
4+
- stopApp
5+
- openLink: rntester://example/Filter/animated-blur
6+
- runFlow: ./helpers/confirm-open-link.yml
7+
- extendedWaitUntil:
8+
visible:
9+
id: 'animated-blur-button'
10+
timeout: 120000
11+
- tapOn:
12+
id: 'animated-blur-button'
13+
- assertVisible:
14+
id: 'animated-blur-view'
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- runFlow:
4+
when:
5+
platform: iOS
6+
commands:
7+
- tapOn:
8+
text: 'Open'
9+
optional: true
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- launchApp
4+
- stopApp
5+
- openLink: rntester://example/TextInput/uncontrolledComponent
6+
- runFlow: ./helpers/confirm-open-link.yml
7+
- extendedWaitUntil:
8+
visible:
9+
id: 'uncontrolled-textinput'
10+
timeout: 120000
11+
- tapOn:
12+
id: 'uncontrolled-textinput'
13+
- eraseText
14+
- inputText: 'New value'
15+
- assertVisible:
16+
id: 'uncontrolled-textinput'
17+
text: 'New value'
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
---
3+
- launchApp
4+
- stopApp
5+
- openLink: rntester://example/TouchableExample/feedback-events
6+
- runFlow: ./helpers/confirm-open-link.yml
7+
- extendedWaitUntil:
8+
visible:
9+
id: 'touchable_feedback_events_button'
10+
timeout: 120000
11+
- tapOn:
12+
id: 'touchable_feedback_events_button'
13+
- assertVisible:
14+
id: 'touchable_feedback_events_console'
15+
- openLink: rntester://example/TouchableExample/highlight
16+
- runFlow: ./helpers/confirm-open-link.yml
17+
- extendedWaitUntil:
18+
visible:
19+
id: 'touchable_highlight_text_button'
20+
timeout: 30000
21+
- tapOn:
22+
id: 'touchable_highlight_text_button'
23+
- assertVisible:
24+
id: 'touchable_highlight_console'
25+
text: 'TouchableHighlight onPress'
26+
- openLink: rntester://example/TouchableExample/hit-slop
27+
- runFlow: ./helpers/confirm-open-link.yml
28+
- extendedWaitUntil:
29+
visible:
30+
id: 'touchable_hit_slop_button'
31+
timeout: 30000
32+
- tapOn:
33+
id: 'touchable_hit_slop_button'
34+
- assertVisible:
35+
id: 'touchable_hit_slop'
36+
- openLink: rntester://example/TouchableExample/without-feedback
37+
- runFlow: ./helpers/confirm-open-link.yml
38+
- extendedWaitUntil:
39+
visible:
40+
id: 'touchable_without_feedback_button'
41+
timeout: 30000
42+
- tapOn:
43+
id: 'touchable_without_feedback_button'
44+
- assertVisible:
45+
id: 'touchable_without_feedback_console'
46+
text: 'TouchableWithoutFeedback onPress'

0 commit comments

Comments
 (0)