diff --git a/.maestro/enrichedInput/flows/checkbox_toggle.yaml b/.maestro/enrichedInput/flows/checkbox_toggle.yaml index d49957cf4..0d350e689 100644 --- a/.maestro/enrichedInput/flows/checkbox_toggle.yaml +++ b/.maestro/enrichedInput/flows/checkbox_toggle.yaml @@ -11,13 +11,22 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-checkbox-list" -- inputText: "Item one" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Item one" - pressKey: Enter -- inputText: "Item two" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Item two" - pressKey: Enter - pressKey: Backspace -- inputText: "Plain text" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Plain text" - pressKey: Enter - tapOn: diff --git a/.maestro/enrichedInput/flows/codeblock_no_link_detection.yaml b/.maestro/enrichedInput/flows/codeblock_no_link_detection.yaml index 585913519..8840d54c3 100644 --- a/.maestro/enrichedInput/flows/codeblock_no_link_detection.yaml +++ b/.maestro/enrichedInput/flows/codeblock_no_link_detection.yaml @@ -12,7 +12,10 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-code-block" -- inputText: "Hello example.com" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Hello example.com" - assertVisible: id: "toolbar-link" diff --git a/.maestro/enrichedInput/flows/codeblock_style_blocking.yaml b/.maestro/enrichedInput/flows/codeblock_style_blocking.yaml index 962b2f769..708851235 100644 --- a/.maestro/enrichedInput/flows/codeblock_style_blocking.yaml +++ b/.maestro/enrichedInput/flows/codeblock_style_blocking.yaml @@ -14,7 +14,10 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-code-block" -- inputText: "ABC example.com" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "ABC example.com" - assertVisible: id: "toolbar-bold" diff --git a/.maestro/enrichedInput/flows/conflicting_paragraph_merge.yaml b/.maestro/enrichedInput/flows/conflicting_paragraph_merge.yaml index 6ed6ff1e3..cd1bb1f74 100644 --- a/.maestro/enrichedInput/flows/conflicting_paragraph_merge.yaml +++ b/.maestro/enrichedInput/flows/conflicting_paragraph_merge.yaml @@ -11,14 +11,20 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-code-block" -- inputText: "Code text" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Code text" - pressKey: Enter - tapOn: id: "toolbar-code-block" - tapOn: id: "toolbar-heading-1" -- inputText: "H1" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "H1" # Position cursor at start of H1 line - tapOn: @@ -30,7 +36,10 @@ appId: swmansion.enriched.example - runFlow: commands: - pressKey: Backspace -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "editor-input" @@ -42,14 +51,20 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-inline-code" -- inputText: "Inline code" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Inline code" - tapOn: id: "editor-input" point: "5%, 75%" - pressKey: Backspace -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - runFlow: file: "../subflows/capture_or_assert_screenshot.yaml" diff --git a/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_copy.yaml b/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_copy.yaml index 9b8dde963..07b277554 100644 --- a/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_copy.yaml +++ b/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_copy.yaml @@ -1,45 +1,54 @@ appId: swmansion.enriched.example tags: - - android-only + - android-only --- - launchApp - tapOn: - id: "toggle-screen-button" + id: 'toggle-screen-button' - tapOn: - id: "focus-button" + id: 'focus-button' -- inputText: "EADING" -- doubleTapOn: - id: "editor-input" - point: "10%, 50%" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'EADING' +- tapOn: + id: 'editor-input' + point: '10%, 50%' +- tapOn: + id: 'editor-input' + point: '10%, 50%' - tapOn: - id: "android:id/floating_toolbar_menu_item_text" - text: "Copy" + id: 'android:id/floating_toolbar_menu_item_text' + text: 'Copy' # Dismiss toolbar with Copy/Cut etc. options - tapOn: - id: "editor-input" + id: 'editor-input' - tapOn: - id: "clear-button" + id: 'clear-button' - tapOn: - id: "focus-button" + id: 'focus-button' - tapOn: - id: "toolbar-heading-1" + id: 'toolbar-heading-1' -- inputText: "H" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H' - longPressOn: - id: "editor-input" - point: "50%, 50%" + id: 'editor-input' + point: '50%, 50%' - tapOn: - id: "android:id/floating_toolbar_menu_item_text" - text: "Paste" + id: 'android:id/floating_toolbar_menu_item_text' + text: 'Paste' - runFlow: - file: "../subflows/capture_or_assert_screenshot.yaml" + file: '../subflows/capture_or_assert_screenshot.yaml' env: - SCREENSHOT_NAME: "extending_paragraph_style_on_paste_after_copy" + SCREENSHOT_NAME: 'extending_paragraph_style_on_paste_after_copy' diff --git a/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_cut.yaml b/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_cut.yaml index 7f6d54852..6bf7c0c19 100644 --- a/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_cut.yaml +++ b/.maestro/enrichedInput/flows/extending_paragraph_style_on_paste_after_cut.yaml @@ -1,37 +1,46 @@ appId: swmansion.enriched.example tags: - - android-only + - android-only --- - launchApp - tapOn: - id: "toggle-screen-button" + id: 'toggle-screen-button' - tapOn: - id: "focus-button" + id: 'focus-button' -- inputText: "EADING" -- doubleTapOn: - id: "editor-input" - point: "10%, 50%" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'EADING' +- tapOn: + id: 'editor-input' + point: '10%, 50%' +- tapOn: + id: 'editor-input' + point: '10%, 50%' - tapOn: - id: "android:id/floating_toolbar_menu_item_text" - text: "Cut" + id: 'android:id/floating_toolbar_menu_item_text' + text: 'Cut' - tapOn: - id: "toolbar-heading-1" + id: 'toolbar-heading-1' -- inputText: "H" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H' - longPressOn: - id: "editor-input" - point: "50%, 50%" + id: 'editor-input' + point: '50%, 50%' - tapOn: - id: "android:id/floating_toolbar_menu_item_text" - text: "Paste" + id: 'android:id/floating_toolbar_menu_item_text' + text: 'Paste' - runFlow: - file: "../subflows/capture_or_assert_screenshot.yaml" + file: '../subflows/capture_or_assert_screenshot.yaml' env: - SCREENSHOT_NAME: "extending_paragraph_style_on_paste_after_cut" + SCREENSHOT_NAME: 'extending_paragraph_style_on_paste_after_cut' diff --git a/.maestro/enrichedInput/flows/font_scaling.yaml b/.maestro/enrichedInput/flows/font_scaling.yaml index bbd06a669..81bbac47f 100644 --- a/.maestro/enrichedInput/flows/font_scaling.yaml +++ b/.maestro/enrichedInput/flows/font_scaling.yaml @@ -15,39 +15,69 @@ tags: - tapOn: id: "editor-input" -- inputText: "Plain " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Plain " - tapOn: id: "toolbar-bold" -- inputText: "bold" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "bold" - tapOn: id: "toolbar-bold" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-italic" -- inputText: "italic" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "italic" - tapOn: id: "toolbar-italic" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-underline" -- inputText: "underline" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "underline" - tapOn: id: "toolbar-underline" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-strikethrough" -- inputText: "strike-through" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "strike-through" - tapOn: id: "toolbar-strikethrough" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-inline-code" -- inputText: "code" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "code" - tapOn: id: "toolbar-inline-code" diff --git a/.maestro/enrichedInput/flows/html_link_not_extended.yaml b/.maestro/enrichedInput/flows/html_link_not_extended.yaml index ebacaddfe..4131a8a66 100644 --- a/.maestro/enrichedInput/flows/html_link_not_extended.yaml +++ b/.maestro/enrichedInput/flows/html_link_not_extended.yaml @@ -18,7 +18,10 @@ appId: swmansion.enriched.example id: "editor-input" point: "95%, 50%" -- inputText: " extra" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " extra" - runFlow: file: "../subflows/capture_or_assert_screenshot.yaml" diff --git a/.maestro/enrichedInput/flows/image_position_stability.yaml b/.maestro/enrichedInput/flows/image_position_stability.yaml index c9ff9697e..3f273b8b9 100644 --- a/.maestro/enrichedInput/flows/image_position_stability.yaml +++ b/.maestro/enrichedInput/flows/image_position_stability.yaml @@ -14,11 +14,17 @@ appId: swmansion.enriched.example - tapOn: id: "editor-input" -- inputText: "Paragraph one" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Paragraph one" - pressKey: Enter - pressKey: Enter -- inputText: "Paragraph two" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Paragraph two" - tapOn: id: "editor-input" @@ -37,7 +43,10 @@ appId: swmansion.enriched.example - tapOn: id: "editor-input" point: "50%,50%" -- inputText: "Paragraph in the middle" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Paragraph in the middle" - runFlow: file: "../subflows/capture_or_assert_screenshot.yaml" diff --git a/.maestro/enrichedInput/flows/inline_code_blocking_styles.yaml b/.maestro/enrichedInput/flows/inline_code_blocking_styles.yaml index 67dbfac76..debbe7356 100644 --- a/.maestro/enrichedInput/flows/inline_code_blocking_styles.yaml +++ b/.maestro/enrichedInput/flows/inline_code_blocking_styles.yaml @@ -14,7 +14,10 @@ appId: swmansion.enriched.example - waitForAnimationToEnd -- inputText: "snippet" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "snippet" - assertVisible: id: "toolbar-link" diff --git a/.maestro/enrichedInput/flows/inline_code_paste_into_codeblock.yaml b/.maestro/enrichedInput/flows/inline_code_paste_into_codeblock.yaml index 08be018fb..a0e93c356 100644 --- a/.maestro/enrichedInput/flows/inline_code_paste_into_codeblock.yaml +++ b/.maestro/enrichedInput/flows/inline_code_paste_into_codeblock.yaml @@ -11,7 +11,10 @@ appId: swmansion.enriched.example - tapOn: id: 'toolbar-inline-code' -- inputText: 'code' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'code' - tapOn: id: 'toolbar-inline-code' @@ -19,7 +22,10 @@ appId: swmansion.enriched.example - tapOn: id: 'toolbar-code-block' -- doubleTapOn: +- tapOn: + id: 'editor-input' + point: '10%, 30%' +- tapOn: id: 'editor-input' point: '10%, 30%' diff --git a/.maestro/enrichedInput/flows/inline_styles_removal.yaml b/.maestro/enrichedInput/flows/inline_styles_removal.yaml index 58faf1d2f..c25ba8643 100644 --- a/.maestro/enrichedInput/flows/inline_styles_removal.yaml +++ b/.maestro/enrichedInput/flows/inline_styles_removal.yaml @@ -18,9 +18,15 @@ appId: swmansion.enriched.example - tapOn: id: 'toolbar-strikethrough' -- inputText: 'First line' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'First line' - pressKey: Enter -- inputText: 'Second line' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Second line' - tapOn: id: 'toolbar-code-block' diff --git a/.maestro/enrichedInput/flows/inline_styles_survive_block_toggle.yaml b/.maestro/enrichedInput/flows/inline_styles_survive_block_toggle.yaml index b2e5bfb94..54498b540 100644 --- a/.maestro/enrichedInput/flows/inline_styles_survive_block_toggle.yaml +++ b/.maestro/enrichedInput/flows/inline_styles_survive_block_toggle.yaml @@ -11,11 +11,17 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-bold" -- inputText: "Bold" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Bold" - tapOn: id: "toolbar-bold" -- inputText: " regular" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " regular" - tapOn: id: "toolbar-quote" diff --git a/.maestro/enrichedInput/flows/inline_styles_visual.yaml b/.maestro/enrichedInput/flows/inline_styles_visual.yaml index f8f2719a9..21897a7a4 100644 --- a/.maestro/enrichedInput/flows/inline_styles_visual.yaml +++ b/.maestro/enrichedInput/flows/inline_styles_visual.yaml @@ -8,39 +8,69 @@ appId: swmansion.enriched.example - tapOn: id: "editor-input" -- inputText: "Plain " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Plain " - tapOn: id: "toolbar-bold" -- inputText: "bold" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "bold" - tapOn: id: "toolbar-bold" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-italic" -- inputText: "italic" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "italic" - tapOn: id: "toolbar-italic" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-underline" -- inputText: "underline" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "underline" - tapOn: id: "toolbar-underline" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-strikethrough" -- inputText: "strike-through" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "strike-through" - tapOn: id: "toolbar-strikethrough" -- inputText: " " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: " " - tapOn: id: "toolbar-inline-code" -- inputText: "code" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "code" - tapOn: id: "toolbar-inline-code" diff --git a/.maestro/enrichedInput/flows/line_overlapping.yaml b/.maestro/enrichedInput/flows/line_overlapping.yaml index 575106055..945d3345d 100644 --- a/.maestro/enrichedInput/flows/line_overlapping.yaml +++ b/.maestro/enrichedInput/flows/line_overlapping.yaml @@ -10,15 +10,30 @@ appId: swmansion.enriched.example id: 'editor-input' - pressKey: Enter -- inputText: 'Line one' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Line one' - pressKey: Enter -- inputText: 'Line two' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Line two' - pressKey: Enter -- inputText: 'Line three' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Line three' - pressKey: Enter -- inputText: 'Line four' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Line four' - pressKey: Enter -- inputText: 'Line five' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Line five' # Tap on the first line to position cursor there - tapOn: @@ -28,11 +43,17 @@ appId: swmansion.enriched.example - tapOn: id: 'toolbar-bold' -- inputText: 'bold' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'bold' - pressKey: Enter - pressKey: Enter - pressKey: Enter -- inputText: 'bold2' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'bold2' - runFlow: file: '../subflows/capture_or_assert_screenshot.yaml' diff --git a/.maestro/enrichedInput/flows/link_not_extended.yaml b/.maestro/enrichedInput/flows/link_not_extended.yaml index a7de9075d..1ff36f6dc 100644 --- a/.maestro/enrichedInput/flows/link_not_extended.yaml +++ b/.maestro/enrichedInput/flows/link_not_extended.yaml @@ -10,7 +10,10 @@ appId: swmansion.enriched.example - tapOn: id: "editor-input" -- inputText: "Hello " +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Hello " - runFlow: file: "../subflows/insert_link.yaml" @@ -25,7 +28,10 @@ appId: swmansion.enriched.example id: "editor-input" point: "95%, 50%" -- inputText: "ing" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "ing" - runFlow: file: "../subflows/capture_or_assert_screenshot.yaml" diff --git a/.maestro/enrichedInput/flows/links_visual.yaml b/.maestro/enrichedInput/flows/links_visual.yaml index bf3ad4c47..42635a5fc 100644 --- a/.maestro/enrichedInput/flows/links_visual.yaml +++ b/.maestro/enrichedInput/flows/links_visual.yaml @@ -10,7 +10,10 @@ appId: swmansion.enriched.example id: "editor-input" # autolinks break on text change or paste -- inputText: 'swmansion.com' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'swmansion.com' - doubleTapOn: id: 'editor-input' @@ -28,10 +31,16 @@ appId: swmansion.enriched.example point: '50%, 70%' - tapOn: text: 'Paste' -- inputText: 'm' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'm' - pressKey: Enter -- inputText: 'swm' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'swm' - longPressOn: id: 'editor-input' point: '50%, 75%' diff --git a/.maestro/enrichedInput/flows/list_newline_insertion.yaml b/.maestro/enrichedInput/flows/list_newline_insertion.yaml index 79e0dfd1b..84a57084c 100644 --- a/.maestro/enrichedInput/flows/list_newline_insertion.yaml +++ b/.maestro/enrichedInput/flows/list_newline_insertion.yaml @@ -16,7 +16,10 @@ appId: swmansion.enriched.example when: platform: android commands: - - inputText: "XXXXXXXXXXXXXXXXXXXXXXXX" + - runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "XXXXXXXXXXXXXXXXXXXXXXXX" - tapOn: id: "editor-input" point: "50%,50%" @@ -29,7 +32,10 @@ appId: swmansion.enriched.example when: platform: ios commands: - - inputText: "XXXXXXXXXXX XXXXXXXXXXXXX" + - runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "XXXXXXXXXXX XXXXXXXXXXXXX" - tapOn: id: "editor-input" point: "50%,50%" diff --git a/.maestro/enrichedInput/flows/mention_popup_closing_on_cursor_travel.yaml b/.maestro/enrichedInput/flows/mention_popup_closing_on_cursor_travel.yaml index c3cf07e74..649b85286 100644 --- a/.maestro/enrichedInput/flows/mention_popup_closing_on_cursor_travel.yaml +++ b/.maestro/enrichedInput/flows/mention_popup_closing_on_cursor_travel.yaml @@ -10,7 +10,10 @@ appId: swmansion.enriched.example - tapOn: id: "editor-input" -- inputText: "mentions #gen @J" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "mentions #gen @J" # user popup visible - runFlow: diff --git a/.maestro/enrichedInput/flows/ordered_list_renumbering.yaml b/.maestro/enrichedInput/flows/ordered_list_renumbering.yaml index 9865c2693..d0edf64c4 100644 --- a/.maestro/enrichedInput/flows/ordered_list_renumbering.yaml +++ b/.maestro/enrichedInput/flows/ordered_list_renumbering.yaml @@ -12,11 +12,20 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-ordered-list" -- inputText: "A" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "A" - pressKey: Enter -- inputText: "B" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "B" - pressKey: Enter -- inputText: "C" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "C" # Tap on the second line to position cursor there - tapOn: diff --git a/.maestro/enrichedInput/flows/paragraph_style_removal.yaml b/.maestro/enrichedInput/flows/paragraph_style_removal.yaml index c749a0054..81e31164f 100644 --- a/.maestro/enrichedInput/flows/paragraph_style_removal.yaml +++ b/.maestro/enrichedInput/flows/paragraph_style_removal.yaml @@ -14,11 +14,20 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-quote" -- inputText: "A" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "A" - pressKey: Enter -- inputText: "B" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "B" - pressKey: Enter -- inputText: "C" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "C" # Tap on the second line - tapOn: diff --git a/.maestro/enrichedInput/flows/paragraph_style_toggle.yaml b/.maestro/enrichedInput/flows/paragraph_style_toggle.yaml index 4e200abe0..c60e8d597 100644 --- a/.maestro/enrichedInput/flows/paragraph_style_toggle.yaml +++ b/.maestro/enrichedInput/flows/paragraph_style_toggle.yaml @@ -14,11 +14,20 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-quote" -- inputText: "1" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "1" - pressKey: Enter -- inputText: "2" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "2" - pressKey: Enter -- inputText: "3" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "3" # Tap on the second line - tapOn: diff --git a/.maestro/enrichedInput/flows/paragraph_styles_alignment_visual.yaml b/.maestro/enrichedInput/flows/paragraph_styles_alignment_visual.yaml index ae5d09c57..6ca09c40d 100644 --- a/.maestro/enrichedInput/flows/paragraph_styles_alignment_visual.yaml +++ b/.maestro/enrichedInput/flows/paragraph_styles_alignment_visual.yaml @@ -10,33 +10,51 @@ appId: swmansion.enriched.example id: 'editor-input' # Left-aligned text -- inputText: 'Left aligned' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Left aligned' - pressKey: Enter # Centre-aligned - tapOn: id: 'toolbar-align-center' -- inputText: 'Centre aligned' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Centre aligned' - pressKey: Enter # Heading 6 - tapOn: id: 'toolbar-heading-6' -- inputText: 'Heading 6' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Heading 6' - pressKey: Enter # Right-aligned text - tapOn: id: 'toolbar-align-right' -- inputText: 'Right aligned' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Right aligned' - pressKey: Enter # List with right-aligned items - tapOn: id: 'toolbar-ordered-list' -- inputText: 'Element 1' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Element 1' - pressKey: Enter -- inputText: 'Element 2' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Element 2' - runFlow: file: '../subflows/capture_or_assert_screenshot.yaml' diff --git a/.maestro/enrichedInput/flows/paragraph_styles_blocks_visual.yaml b/.maestro/enrichedInput/flows/paragraph_styles_blocks_visual.yaml index 1a437c12f..f00637781 100644 --- a/.maestro/enrichedInput/flows/paragraph_styles_blocks_visual.yaml +++ b/.maestro/enrichedInput/flows/paragraph_styles_blocks_visual.yaml @@ -12,21 +12,36 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-quote" -- inputText: "Quote 1" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Quote 1" - pressKey: Enter -- inputText: "Quote 2" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Quote 2" - pressKey: Enter - tapOn: id: "toolbar-quote" -- inputText: "Normal paragraph" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Normal paragraph" - pressKey: Enter - tapOn: id: "toolbar-code-block" -- inputText: "Code 1" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Code 1" - pressKey: Enter -- inputText: "Code 2" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Code 2" - runFlow: file: "../subflows/capture_or_assert_screenshot.yaml" diff --git a/.maestro/enrichedInput/flows/paragraph_styles_headings_visual.yaml b/.maestro/enrichedInput/flows/paragraph_styles_headings_visual.yaml index 70c426fd4..c396b06a7 100644 --- a/.maestro/enrichedInput/flows/paragraph_styles_headings_visual.yaml +++ b/.maestro/enrichedInput/flows/paragraph_styles_headings_visual.yaml @@ -4,43 +4,61 @@ appId: swmansion.enriched.example - launchApp - tapOn: - id: "toggle-screen-button" + id: 'toggle-screen-button' - tapOn: - id: "editor-input" + id: 'editor-input' - tapOn: - id: "toolbar-heading-1" -- inputText: "H1" + id: 'toolbar-heading-1' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H1' - pressKey: Enter - tapOn: - id: "toolbar-heading-2" -- inputText: "H2" + id: 'toolbar-heading-2' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H2' - pressKey: Enter - tapOn: - id: "toolbar-heading-3" -- inputText: "H3" + id: 'toolbar-heading-3' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H3' - pressKey: Enter - tapOn: - id: "toolbar-heading-4" -- inputText: "H4" + id: 'toolbar-heading-4' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H4' - pressKey: Enter - tapOn: - id: "toolbar-heading-5" -- inputText: "H5" + id: 'toolbar-heading-5' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H5' - pressKey: Enter - tapOn: - id: "toolbar-heading-6" -- inputText: "H6" + id: 'toolbar-heading-6' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'H6' - tapOn: - id: "size-max-button" + id: 'size-max-button' - runFlow: - file: "../subflows/capture_or_assert_screenshot.yaml" + file: '../subflows/capture_or_assert_screenshot.yaml' env: - SCREENSHOT_NAME: "paragraph_styles_headings" + SCREENSHOT_NAME: 'paragraph_styles_headings' diff --git a/.maestro/enrichedInput/flows/paragraph_styles_lists_visual.yaml b/.maestro/enrichedInput/flows/paragraph_styles_lists_visual.yaml index 4368ef3dc..3db909101 100644 --- a/.maestro/enrichedInput/flows/paragraph_styles_lists_visual.yaml +++ b/.maestro/enrichedInput/flows/paragraph_styles_lists_visual.yaml @@ -11,33 +11,57 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-ordered-list" -- inputText: "First" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "First" - pressKey: Enter -- inputText: "Second" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Second" - pressKey: Enter - tapOn: id: "toolbar-ordered-list" -- inputText: "Normal" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Normal" - pressKey: Enter - tapOn: id: "toolbar-unordered-list" -- inputText: "First" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "First" - pressKey: Enter -- inputText: "Second" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Second" - pressKey: Enter - tapOn: id: "toolbar-unordered-list" -- inputText: "Normal" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Normal" - pressKey: Enter - tapOn: id: "toolbar-checkbox-list" -- inputText: "First" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "First" - pressKey: Enter -- inputText: "Second" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Second" - tapOn: id: "size-max-button" diff --git a/.maestro/enrichedInput/flows/paragraph_styles_no_crash.yaml b/.maestro/enrichedInput/flows/paragraph_styles_no_crash.yaml index 4710b5257..88664c2de 100644 --- a/.maestro/enrichedInput/flows/paragraph_styles_no_crash.yaml +++ b/.maestro/enrichedInput/flows/paragraph_styles_no_crash.yaml @@ -11,42 +11,60 @@ appId: swmansion.enriched.example - tapOn: id: "toolbar-unordered-list" -- inputText: "Unordered" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Unordered" - pressKey: Enter - tapOn: id: "toolbar-unordered-list" - tapOn: id: "toolbar-ordered-list" -- inputText: "Ordered" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Ordered" - pressKey: Enter - tapOn: id: "toolbar-ordered-list" - tapOn: id: "toolbar-checkbox-list" -- inputText: "Checkbox" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Checkbox" - pressKey: Enter - tapOn: id: "toolbar-checkbox-list" - tapOn: id: "toolbar-code-block" -- inputText: "Code" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Code" - pressKey: Enter - tapOn: id: "toolbar-code-block" - tapOn: id: "toolbar-quote" -- inputText: "Quote" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Quote" - pressKey: Enter - tapOn: id: "toolbar-quote" - tapOn: id: "toolbar-heading-1" -- inputText: "Heading" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Heading" - assertVisible: id: "editor-input" diff --git a/.maestro/enrichedInput/flows/scrolling_after_typing.yaml b/.maestro/enrichedInput/flows/scrolling_after_typing.yaml index e4711a8d4..5dbf8be9f 100644 --- a/.maestro/enrichedInput/flows/scrolling_after_typing.yaml +++ b/.maestro/enrichedInput/flows/scrolling_after_typing.yaml @@ -10,25 +10,55 @@ appId: swmansion.enriched.example - tapOn: id: "editor-input" -- inputText: "Line one" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line one" - pressKey: Enter -- inputText: "Line two" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line two" - pressKey: Enter -- inputText: "Line three" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line three" - pressKey: Enter -- inputText: "Line four" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line four" - pressKey: Enter -- inputText: "Line five" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line five" - pressKey: Enter -- inputText: "Line six" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line six" - pressKey: Enter -- inputText: "Line seven" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line seven" - pressKey: Enter -- inputText: "Line eight" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line eight" - pressKey: Enter -- inputText: "Line nine" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line nine" - pressKey: Enter -- inputText: "Line ten" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: "Line ten" - runFlow: file: "../subflows/capture_or_assert_screenshot.yaml" diff --git a/.maestro/enrichedInput/flows/scrolling_with_paragraph_styles.yaml b/.maestro/enrichedInput/flows/scrolling_with_paragraph_styles.yaml index 96e987fe1..579b5ac14 100644 --- a/.maestro/enrichedInput/flows/scrolling_with_paragraph_styles.yaml +++ b/.maestro/enrichedInput/flows/scrolling_with_paragraph_styles.yaml @@ -4,71 +4,104 @@ appId: swmansion.enriched.example - launchApp - tapOn: - id: "toggle-screen-button" + id: 'toggle-screen-button' - tapOn: - id: "editor-input" + id: 'editor-input' - tapOn: - id: "toolbar-unordered-list" -- inputText: "Bullet item one" + id: 'toolbar-unordered-list' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Bullet item one' - pressKey: Enter -- inputText: "Bullet item two" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Bullet item two' - pressKey: Enter -- inputText: "Bullet item three" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Bullet item three' - pressKey: Enter - pressKey: Enter - tapOn: - id: "toolbar-quote" -- inputText: "Quoted line one" + id: 'toolbar-quote' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Quoted line one' - pressKey: Enter -- inputText: "Quoted line two" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Quoted line two' - pressKey: Enter -- inputText: "Quoted line three" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Quoted line three' - pressKey: Enter - tapOn: - id: "toolbar-quote" + id: 'toolbar-quote' - tapOn: - id: "toolbar-ordered-list" -- inputText: "Numbered item one" + id: 'toolbar-ordered-list' +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Numbered item one' - pressKey: Enter -- inputText: "Numbered item two" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Numbered item two' - pressKey: Enter -- inputText: "Numbered item three" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Numbered item three' - pressKey: Enter - pressKey: Enter - pressKey: Backspace -- inputText: "Plain text line one" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Plain text line one' - pressKey: Enter -- inputText: "Plain text final" +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: 'Plain text final' - swipe: from: - id: "editor-input" + id: 'editor-input' direction: DOWN - runFlow: - file: "../subflows/capture_or_assert_screenshot.yaml" + file: '../subflows/capture_or_assert_screenshot.yaml' env: - SCREENSHOT_NAME: "scrolling_paragraph_styles_top" + SCREENSHOT_NAME: 'scrolling_paragraph_styles_top' - tapOn: - id: "focus-button" + id: 'focus-button' - tapOn: - id: "editor-input" - point: "0%,0%" + id: 'editor-input' + point: '0%,0%' - swipe: from: - id: "editor-input" + id: 'editor-input' direction: UP - runFlow: - file: "../subflows/capture_or_assert_screenshot.yaml" + file: '../subflows/capture_or_assert_screenshot.yaml' env: - SCREENSHOT_NAME: "scrolling_paragraph_styles_bottom" + SCREENSHOT_NAME: 'scrolling_paragraph_styles_bottom' diff --git a/.maestro/enrichedInput/screenshots/android/checkbox_toggle.png b/.maestro/enrichedInput/screenshots/android/checkbox_toggle.png index b3b661a85..f19e3d45e 100644 Binary files a/.maestro/enrichedInput/screenshots/android/checkbox_toggle.png and b/.maestro/enrichedInput/screenshots/android/checkbox_toggle.png differ diff --git a/.maestro/enrichedInput/screenshots/android/codeblock_no_link_detection.png b/.maestro/enrichedInput/screenshots/android/codeblock_no_link_detection.png index 78e27577d..4d09796ec 100644 Binary files a/.maestro/enrichedInput/screenshots/android/codeblock_no_link_detection.png and b/.maestro/enrichedInput/screenshots/android/codeblock_no_link_detection.png differ diff --git a/.maestro/enrichedInput/screenshots/android/codeblock_style_blocking.png b/.maestro/enrichedInput/screenshots/android/codeblock_style_blocking.png index 44ae70724..ee6f3c2be 100644 Binary files a/.maestro/enrichedInput/screenshots/android/codeblock_style_blocking.png and b/.maestro/enrichedInput/screenshots/android/codeblock_style_blocking.png differ diff --git a/.maestro/enrichedInput/screenshots/android/conflicting_paragraph_merge.png b/.maestro/enrichedInput/screenshots/android/conflicting_paragraph_merge.png index 074a56c79..361a1fe74 100644 Binary files a/.maestro/enrichedInput/screenshots/android/conflicting_paragraph_merge.png and b/.maestro/enrichedInput/screenshots/android/conflicting_paragraph_merge.png differ diff --git a/.maestro/enrichedInput/screenshots/android/empty_element_parsing.png b/.maestro/enrichedInput/screenshots/android/empty_element_parsing.png index 7e28ad4ea..3270f5705 100644 Binary files a/.maestro/enrichedInput/screenshots/android/empty_element_parsing.png and b/.maestro/enrichedInput/screenshots/android/empty_element_parsing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/empty_html_block_parsing.png b/.maestro/enrichedInput/screenshots/android/empty_html_block_parsing.png index d0fa3c3d1..68dfb0506 100644 Binary files a/.maestro/enrichedInput/screenshots/android/empty_html_block_parsing.png and b/.maestro/enrichedInput/screenshots/android/empty_html_block_parsing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/empty_lists_parsing.png b/.maestro/enrichedInput/screenshots/android/empty_lists_parsing.png index d777b0b24..08997a780 100644 Binary files a/.maestro/enrichedInput/screenshots/android/empty_lists_parsing.png and b/.maestro/enrichedInput/screenshots/android/empty_lists_parsing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_copy.png b/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_copy.png index f717ac4fa..ec53585c6 100644 Binary files a/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_copy.png and b/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_copy.png differ diff --git a/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_cut.png b/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_cut.png index f717ac4fa..ec53585c6 100644 Binary files a/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_cut.png and b/.maestro/enrichedInput/screenshots/android/extending_paragraph_style_on_paste_after_cut.png differ diff --git a/.maestro/enrichedInput/screenshots/android/font_scaling.png b/.maestro/enrichedInput/screenshots/android/font_scaling.png index 6b955aa4e..fe3e145e8 100644 Binary files a/.maestro/enrichedInput/screenshots/android/font_scaling.png and b/.maestro/enrichedInput/screenshots/android/font_scaling.png differ diff --git a/.maestro/enrichedInput/screenshots/android/font_scaling_placeholder.png b/.maestro/enrichedInput/screenshots/android/font_scaling_placeholder.png index 1288cc4b3..024799772 100644 Binary files a/.maestro/enrichedInput/screenshots/android/font_scaling_placeholder.png and b/.maestro/enrichedInput/screenshots/android/font_scaling_placeholder.png differ diff --git a/.maestro/enrichedInput/screenshots/android/html_link_not_extended.png b/.maestro/enrichedInput/screenshots/android/html_link_not_extended.png index d0198a17d..183e46f60 100644 Binary files a/.maestro/enrichedInput/screenshots/android/html_link_not_extended.png and b/.maestro/enrichedInput/screenshots/android/html_link_not_extended.png differ diff --git a/.maestro/enrichedInput/screenshots/android/image_inside_list_parsing.png b/.maestro/enrichedInput/screenshots/android/image_inside_list_parsing.png index 8c7af1ca3..8cd47a926 100644 Binary files a/.maestro/enrichedInput/screenshots/android/image_inside_list_parsing.png and b/.maestro/enrichedInput/screenshots/android/image_inside_list_parsing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/image_position_stability_after_typing.png b/.maestro/enrichedInput/screenshots/android/image_position_stability_after_typing.png index c0a316c11..f1ea54e6b 100644 Binary files a/.maestro/enrichedInput/screenshots/android/image_position_stability_after_typing.png and b/.maestro/enrichedInput/screenshots/android/image_position_stability_after_typing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/image_position_stability_before_typing.png b/.maestro/enrichedInput/screenshots/android/image_position_stability_before_typing.png index 063a9ad02..7c42eacba 100644 Binary files a/.maestro/enrichedInput/screenshots/android/image_position_stability_before_typing.png and b/.maestro/enrichedInput/screenshots/android/image_position_stability_before_typing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/initial_html_parsing.png b/.maestro/enrichedInput/screenshots/android/initial_html_parsing.png index 628395281..b2b09a80a 100644 Binary files a/.maestro/enrichedInput/screenshots/android/initial_html_parsing.png and b/.maestro/enrichedInput/screenshots/android/initial_html_parsing.png differ diff --git a/.maestro/enrichedInput/screenshots/android/initial_placeholder.png b/.maestro/enrichedInput/screenshots/android/initial_placeholder.png index 63fdb011d..cab2068d5 100644 Binary files a/.maestro/enrichedInput/screenshots/android/initial_placeholder.png and b/.maestro/enrichedInput/screenshots/android/initial_placeholder.png differ diff --git a/.maestro/enrichedInput/screenshots/android/inline_code_paste_into_codeblock.png b/.maestro/enrichedInput/screenshots/android/inline_code_paste_into_codeblock.png index 995be24f8..72f505e64 100644 Binary files a/.maestro/enrichedInput/screenshots/android/inline_code_paste_into_codeblock.png and b/.maestro/enrichedInput/screenshots/android/inline_code_paste_into_codeblock.png differ diff --git a/.maestro/enrichedInput/screenshots/android/inline_styles.png b/.maestro/enrichedInput/screenshots/android/inline_styles.png index 818443706..f47fe94ae 100644 Binary files a/.maestro/enrichedInput/screenshots/android/inline_styles.png and b/.maestro/enrichedInput/screenshots/android/inline_styles.png differ diff --git a/.maestro/enrichedInput/screenshots/android/inline_styles_removal.png b/.maestro/enrichedInput/screenshots/android/inline_styles_removal.png index 731ac2b2a..52322de38 100644 Binary files a/.maestro/enrichedInput/screenshots/android/inline_styles_removal.png and b/.maestro/enrichedInput/screenshots/android/inline_styles_removal.png differ diff --git a/.maestro/enrichedInput/screenshots/android/inline_styles_survive_block_toggle.png b/.maestro/enrichedInput/screenshots/android/inline_styles_survive_block_toggle.png index e98448191..3db0dfe40 100644 Binary files a/.maestro/enrichedInput/screenshots/android/inline_styles_survive_block_toggle.png and b/.maestro/enrichedInput/screenshots/android/inline_styles_survive_block_toggle.png differ diff --git a/.maestro/enrichedInput/screenshots/android/line_overlapping.png b/.maestro/enrichedInput/screenshots/android/line_overlapping.png index 760674223..fce1bcad2 100644 Binary files a/.maestro/enrichedInput/screenshots/android/line_overlapping.png and b/.maestro/enrichedInput/screenshots/android/line_overlapping.png differ diff --git a/.maestro/enrichedInput/screenshots/android/link_not_extended.png b/.maestro/enrichedInput/screenshots/android/link_not_extended.png index 8fba4d554..6bc16ba81 100644 Binary files a/.maestro/enrichedInput/screenshots/android/link_not_extended.png and b/.maestro/enrichedInput/screenshots/android/link_not_extended.png differ diff --git a/.maestro/enrichedInput/screenshots/android/links_visual_manual.png b/.maestro/enrichedInput/screenshots/android/links_visual_manual.png index cc265a9db..adcbe4381 100644 Binary files a/.maestro/enrichedInput/screenshots/android/links_visual_manual.png and b/.maestro/enrichedInput/screenshots/android/links_visual_manual.png differ diff --git a/.maestro/enrichedInput/screenshots/android/list_newline_insertion.png b/.maestro/enrichedInput/screenshots/android/list_newline_insertion.png index 12b3b0384..a754db992 100644 Binary files a/.maestro/enrichedInput/screenshots/android/list_newline_insertion.png and b/.maestro/enrichedInput/screenshots/android/list_newline_insertion.png differ diff --git a/.maestro/enrichedInput/screenshots/android/mention_parsing_single_quoted_attributes.png b/.maestro/enrichedInput/screenshots/android/mention_parsing_single_quoted_attributes.png index a8d68a2cd..e3656cca6 100644 Binary files a/.maestro/enrichedInput/screenshots/android/mention_parsing_single_quoted_attributes.png and b/.maestro/enrichedInput/screenshots/android/mention_parsing_single_quoted_attributes.png differ diff --git a/.maestro/enrichedInput/screenshots/android/mention_popup_closing_on_cursor_travel_1.png b/.maestro/enrichedInput/screenshots/android/mention_popup_closing_on_cursor_travel_1.png index 74947bcfd..58c9cb04c 100644 Binary files a/.maestro/enrichedInput/screenshots/android/mention_popup_closing_on_cursor_travel_1.png and b/.maestro/enrichedInput/screenshots/android/mention_popup_closing_on_cursor_travel_1.png differ diff --git a/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_deleting_second_line.png b/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_deleting_second_line.png index 5d00fb1ce..bc9ffec9f 100644 Binary files a/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_deleting_second_line.png and b/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_deleting_second_line.png differ diff --git a/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_emptying_second_line.png b/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_emptying_second_line.png index 53049a519..0a06c63b2 100644 Binary files a/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_emptying_second_line.png and b/.maestro/enrichedInput/screenshots/android/ordered_list_renumbering_after_emptying_second_line.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_style_after_removal.png b/.maestro/enrichedInput/screenshots/android/paragraph_style_after_removal.png index 5f5e0c7af..893e8cf21 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_style_after_removal.png and b/.maestro/enrichedInput/screenshots/android/paragraph_style_after_removal.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_style_toggle.png b/.maestro/enrichedInput/screenshots/android/paragraph_style_toggle.png index 756cfe7e5..d84824aaf 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_style_toggle.png and b/.maestro/enrichedInput/screenshots/android/paragraph_style_toggle.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_styles_alignment.png b/.maestro/enrichedInput/screenshots/android/paragraph_styles_alignment.png index 31828ca25..82fdce39b 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_styles_alignment.png and b/.maestro/enrichedInput/screenshots/android/paragraph_styles_alignment.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_styles_blocks.png b/.maestro/enrichedInput/screenshots/android/paragraph_styles_blocks.png index 4d075df95..43bb4ea50 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_styles_blocks.png and b/.maestro/enrichedInput/screenshots/android/paragraph_styles_blocks.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_styles_headings.png b/.maestro/enrichedInput/screenshots/android/paragraph_styles_headings.png index d94481f0a..b908da2e3 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_styles_headings.png and b/.maestro/enrichedInput/screenshots/android/paragraph_styles_headings.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_styles_lists.png b/.maestro/enrichedInput/screenshots/android/paragraph_styles_lists.png index 7bb6e38db..1bce11428 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_styles_lists.png and b/.maestro/enrichedInput/screenshots/android/paragraph_styles_lists.png differ diff --git a/.maestro/enrichedInput/screenshots/android/paragraph_styles_no_crash.png b/.maestro/enrichedInput/screenshots/android/paragraph_styles_no_crash.png index 3278d7428..a173e9efe 100644 Binary files a/.maestro/enrichedInput/screenshots/android/paragraph_styles_no_crash.png and b/.maestro/enrichedInput/screenshots/android/paragraph_styles_no_crash.png differ diff --git a/.maestro/enrichedInput/screenshots/android/scroll_after_typing_long_content_top.png b/.maestro/enrichedInput/screenshots/android/scroll_after_typing_long_content_top.png index 0fb8b9b36..cf3e15d14 100644 Binary files a/.maestro/enrichedInput/screenshots/android/scroll_after_typing_long_content_top.png and b/.maestro/enrichedInput/screenshots/android/scroll_after_typing_long_content_top.png differ diff --git a/.maestro/enrichedInput/screenshots/android/scrolling_paragraph_styles_top.png b/.maestro/enrichedInput/screenshots/android/scrolling_paragraph_styles_top.png index 3b946339f..6ebd80791 100644 Binary files a/.maestro/enrichedInput/screenshots/android/scrolling_paragraph_styles_top.png and b/.maestro/enrichedInput/screenshots/android/scrolling_paragraph_styles_top.png differ diff --git a/.maestro/enrichedInput/screenshots/android/scrolling_set_value_bottom.png b/.maestro/enrichedInput/screenshots/android/scrolling_set_value_bottom.png index adf2bd9cc..6dc88b27d 100644 Binary files a/.maestro/enrichedInput/screenshots/android/scrolling_set_value_bottom.png and b/.maestro/enrichedInput/screenshots/android/scrolling_set_value_bottom.png differ diff --git a/.maestro/enrichedInput/screenshots/android/scrolling_set_value_top.png b/.maestro/enrichedInput/screenshots/android/scrolling_set_value_top.png index 0fb8b9b36..7d33f2aad 100644 Binary files a/.maestro/enrichedInput/screenshots/android/scrolling_set_value_top.png and b/.maestro/enrichedInput/screenshots/android/scrolling_set_value_top.png differ diff --git a/.maestro/enrichedInput/subflows/insert_link.yaml b/.maestro/enrichedInput/subflows/insert_link.yaml index 744d98514..feeffff51 100644 --- a/.maestro/enrichedInput/subflows/insert_link.yaml +++ b/.maestro/enrichedInput/subflows/insert_link.yaml @@ -13,12 +13,18 @@ appId: swmansion.enriched.example - tapOn: id: "link-modal-text-input" -- inputText: ${LINK_TEXT} +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: ${LINK_TEXT} - tapOn: id: "link-modal-url-input" -- inputText: ${LINK_URL} +- runFlow: + file: '../../subflows/input_text.yaml' + env: + TEXT: ${LINK_URL} - tapOn: id: "link-modal-submit-button" diff --git a/.maestro/enrichedInput/subflows/set_editor_value.yaml b/.maestro/enrichedInput/subflows/set_editor_value.yaml index 67b459db1..e87c5d33e 100644 --- a/.maestro/enrichedInput/subflows/set_editor_value.yaml +++ b/.maestro/enrichedInput/subflows/set_editor_value.yaml @@ -1,19 +1,26 @@ appId: swmansion.enriched.example --- - - tapOn: - id: "set-value-button" + id: 'set-value-button' - waitForAnimationToEnd - extendedWaitUntil: visible: - id: "value-modal-input" + id: 'value-modal-input' timeout: 10000 - tapOn: - id: "value-modal-input" + id: 'value-modal-input' - inputText: ${VALUE} - tapOn: - id: "value-modal-submit-button" + id: 'value-modal-submit-button' + +# Wait until the modal is gone +- extendedWaitUntil: + notVisible: + id: 'value-modal-submit-button' + timeout: 10000 + +- waitForAnimationToEnd diff --git a/.maestro/enrichedText/flows/link_press.yaml b/.maestro/enrichedText/flows/link_press.yaml index 406eadd64..c53a0577e 100644 --- a/.maestro/enrichedText/flows/link_press.yaml +++ b/.maestro/enrichedText/flows/link_press.yaml @@ -18,6 +18,7 @@ appId: swmansion.enriched.example id: 'enriched-text' point: '5%,50%' +- waitForAnimationToEnd - runFlow: file: '../subflows/capture_or_assert_screenshot.yaml' env: diff --git a/.maestro/enrichedText/flows/mention_press.yaml b/.maestro/enrichedText/flows/mention_press.yaml index 0092dbfb1..68c59823a 100644 --- a/.maestro/enrichedText/flows/mention_press.yaml +++ b/.maestro/enrichedText/flows/mention_press.yaml @@ -18,6 +18,7 @@ appId: swmansion.enriched.example id: 'enriched-text' point: '5%,50%' +- waitForAnimationToEnd - runFlow: file: '../subflows/capture_or_assert_screenshot.yaml' env: diff --git a/.maestro/enrichedText/flows/paragraph_styles_display.yaml b/.maestro/enrichedText/flows/paragraph_styles_display.yaml index 3187d55be..4d6d05405 100644 --- a/.maestro/enrichedText/flows/paragraph_styles_display.yaml +++ b/.maestro/enrichedText/flows/paragraph_styles_display.yaml @@ -20,12 +20,8 @@ appId: swmansion.enriched.example

Heading 4

Heading 5
Heading 6
- -

Code block

-
-
-

Blockquote

-
+

Code block

+

Blockquote

diff --git a/.maestro/enrichedText/screenshots/android/alignment_visual.png b/.maestro/enrichedText/screenshots/android/alignment_visual.png index c3e03756a..7c667c4b0 100644 Binary files a/.maestro/enrichedText/screenshots/android/alignment_visual.png and b/.maestro/enrichedText/screenshots/android/alignment_visual.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_head_1.png b/.maestro/enrichedText/screenshots/android/ellipsize_head_1.png index 5ad750173..245198008 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_head_1.png and b/.maestro/enrichedText/screenshots/android/ellipsize_head_1.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_head_all.png b/.maestro/enrichedText/screenshots/android/ellipsize_head_all.png index e9a429392..217678062 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_head_all.png and b/.maestro/enrichedText/screenshots/android/ellipsize_head_all.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_middle_1.png b/.maestro/enrichedText/screenshots/android/ellipsize_middle_1.png index 7dd3f5723..7faa1e818 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_middle_1.png and b/.maestro/enrichedText/screenshots/android/ellipsize_middle_1.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_middle_all.png b/.maestro/enrichedText/screenshots/android/ellipsize_middle_all.png index e9a429392..217678062 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_middle_all.png and b/.maestro/enrichedText/screenshots/android/ellipsize_middle_all.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_tail_1.png b/.maestro/enrichedText/screenshots/android/ellipsize_tail_1.png index 9fe8f4426..3023ae18a 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_tail_1.png and b/.maestro/enrichedText/screenshots/android/ellipsize_tail_1.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_tail_2.png b/.maestro/enrichedText/screenshots/android/ellipsize_tail_2.png index 3f2618a67..6b340de88 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_tail_2.png and b/.maestro/enrichedText/screenshots/android/ellipsize_tail_2.png differ diff --git a/.maestro/enrichedText/screenshots/android/ellipsize_tail_all.png b/.maestro/enrichedText/screenshots/android/ellipsize_tail_all.png index e9a429392..217678062 100644 Binary files a/.maestro/enrichedText/screenshots/android/ellipsize_tail_all.png and b/.maestro/enrichedText/screenshots/android/ellipsize_tail_all.png differ diff --git a/.maestro/enrichedText/screenshots/android/empty_list_elements_display.png b/.maestro/enrichedText/screenshots/android/empty_list_elements_display.png index 62859c08e..c7f3b07ab 100644 Binary files a/.maestro/enrichedText/screenshots/android/empty_list_elements_display.png and b/.maestro/enrichedText/screenshots/android/empty_list_elements_display.png differ diff --git a/.maestro/enrichedText/screenshots/android/external_html_parsing.png b/.maestro/enrichedText/screenshots/android/external_html_parsing.png index 09e5bf7ce..7c6a550e0 100644 Binary files a/.maestro/enrichedText/screenshots/android/external_html_parsing.png and b/.maestro/enrichedText/screenshots/android/external_html_parsing.png differ diff --git a/.maestro/enrichedText/screenshots/android/font_scaling.png b/.maestro/enrichedText/screenshots/android/font_scaling.png index 488791012..87db1808c 100644 Binary files a/.maestro/enrichedText/screenshots/android/font_scaling.png and b/.maestro/enrichedText/screenshots/android/font_scaling.png differ diff --git a/.maestro/enrichedText/screenshots/android/inline_styles_display.png b/.maestro/enrichedText/screenshots/android/inline_styles_display.png index fe658211f..a4b9ebcf7 100644 Binary files a/.maestro/enrichedText/screenshots/android/inline_styles_display.png and b/.maestro/enrichedText/screenshots/android/inline_styles_display.png differ diff --git a/.maestro/enrichedText/screenshots/android/link_press.png b/.maestro/enrichedText/screenshots/android/link_press.png index 0a6f60821..48877080b 100644 Binary files a/.maestro/enrichedText/screenshots/android/link_press.png and b/.maestro/enrichedText/screenshots/android/link_press.png differ diff --git a/.maestro/enrichedText/screenshots/android/mention_press.png b/.maestro/enrichedText/screenshots/android/mention_press.png index d480c2e1e..f83ea9b2f 100644 Binary files a/.maestro/enrichedText/screenshots/android/mention_press.png and b/.maestro/enrichedText/screenshots/android/mention_press.png differ diff --git a/.maestro/enrichedText/screenshots/android/paragraph_styles_display.png b/.maestro/enrichedText/screenshots/android/paragraph_styles_display.png index 112148d77..e4ee74114 100644 Binary files a/.maestro/enrichedText/screenshots/android/paragraph_styles_display.png and b/.maestro/enrichedText/screenshots/android/paragraph_styles_display.png differ diff --git a/.maestro/enrichedText/subflows/run_ellipsize_case.yaml b/.maestro/enrichedText/subflows/run_ellipsize_case.yaml index 4984c5b4b..9e5b93b97 100644 --- a/.maestro/enrichedText/subflows/run_ellipsize_case.yaml +++ b/.maestro/enrichedText/subflows/run_ellipsize_case.yaml @@ -1,16 +1,17 @@ appId: swmansion.enriched.example --- - tapOn: - id: "number-of-lines-${NOL_BUTTON}-button" + id: 'number-of-lines-${NOL_BUTTON}-button' -- assertVisible: "numberOfLines: ${NOL_LABEL}" +- assertVisible: 'numberOfLines: ${NOL_LABEL}' - tapOn: - id: "ellipsize-${ELLIPSIZE_MODE}-button" + id: 'ellipsize-${ELLIPSIZE_MODE}-button' -- assertVisible: "ellipsizeMode: ${ELLIPSIZE_MODE}" +- assertVisible: 'ellipsizeMode: ${ELLIPSIZE_MODE}' +- waitForAnimationToEnd - runFlow: - file: "./capture_or_assert_screenshot.yaml" + file: './capture_or_assert_screenshot.yaml' env: - SCREENSHOT_NAME: "${SCREENSHOT_NAME}" + SCREENSHOT_NAME: '${SCREENSHOT_NAME}' diff --git a/.maestro/enrichedText/subflows/set_enriched_text_value.yaml b/.maestro/enrichedText/subflows/set_enriched_text_value.yaml index b03f48bcd..a199c3fed 100644 --- a/.maestro/enrichedText/subflows/set_enriched_text_value.yaml +++ b/.maestro/enrichedText/subflows/set_enriched_text_value.yaml @@ -1,19 +1,26 @@ appId: swmansion.enriched.example --- - - tapOn: - id: "set-enriched-text-button" + id: 'set-enriched-text-button' - waitForAnimationToEnd - extendedWaitUntil: visible: - id: "value-modal-input" + id: 'value-modal-input' timeout: 10000 - tapOn: - id: "value-modal-input" + id: 'value-modal-input' - inputText: ${VALUE} - tapOn: - id: "value-modal-submit-button" + id: 'value-modal-submit-button' + +# Wait until the modal is gone +- extendedWaitUntil: + notVisible: + id: 'value-modal-submit-button' + timeout: 10000 + +- waitForAnimationToEnd diff --git a/.maestro/scripts/run-tests.sh b/.maestro/scripts/run-tests.sh index afaf96887..121b0dc5b 100755 --- a/.maestro/scripts/run-tests.sh +++ b/.maestro/scripts/run-tests.sh @@ -16,20 +16,24 @@ # ./run-tests.sh --platform ios # ./run-tests.sh --platform android --update-screenshots .maestro/enrichedInput/flows/core_controls_smoke.yaml # ./run-tests.sh --platform ios --rebuild +# +# Uses the local maestro-runner binary: +# Android → --driver devicelab +# iOS → default driver set -euo pipefail -MIN_MAESTRO_VERSION="2.3.0" +DEFAULT_MAESTRO_RUNNER="$HOME/.maestro-runner/bin/maestro-runner" -if ! command -v maestro >/dev/null 2>&1; then - echo "Error: maestro CLI not found." >&2 - exit 1 -fi - -MAESTRO_VERSION=$(maestro --version) -# Compare versions by sorting them; if the minimum sorts after the actual, it's too old. -if [ "$(printf '%s\n' "$MIN_MAESTRO_VERSION" "$MAESTRO_VERSION" | sort -V | head -n1)" != "$MIN_MAESTRO_VERSION" ]; then - echo "Error: maestro $MAESTRO_VERSION is too old, minimum required is $MIN_MAESTRO_VERSION" >&2 +if [ -n "${MAESTRO_RUNNER:-}" ]; then + MAESTRO_BIN="$MAESTRO_RUNNER" +elif [ -x "$DEFAULT_MAESTRO_RUNNER" ]; then + MAESTRO_BIN="$DEFAULT_MAESTRO_RUNNER" +elif command -v maestro-runner >/dev/null 2>&1; then + MAESTRO_BIN="$(command -v maestro-runner)" +else + echo "Error: maestro-runner not found." >&2 + echo "Install it locally (expected at $DEFAULT_MAESTRO_RUNNER) or set MAESTRO_RUNNER." >&2 exit 1 fi @@ -63,6 +67,20 @@ esac DEVICE_ID=$("$SETUP" | tee /dev/tty | grep "^DEVICE_ID=" | cut -d= -f2) +# Android uses DeviceLab; iOS keeps the runner default driver. +DRIVER_ARGS="" +if [ "$PLATFORM" = android ]; then + DRIVER_ARGS="--driver devicelab" +fi + +echo "=== Using maestro-runner: $MAESTRO_BIN ===" +"$MAESTRO_BIN" --version || true +if [ -n "$DRIVER_ARGS" ]; then + echo "=== Driver: devicelab (android) ===" +else + echo "=== Driver: default (ios) ===" +fi + app_installed() { if [ "$PLATFORM" = ios ]; then xcrun simctl listapps "$DEVICE_ID" 2>/dev/null | grep -q "$BUNDLE_ID" @@ -120,23 +138,26 @@ ASSETS_DIR="$MAESTRO_ROOT/assets" # leaving the device scaled. Force a known state before the normal tests. set_font_scale default -# maestro exits non-zero when the tag filter matches zero flows. That's not a -# real failure for us (e.g. running a single flow that has no accessibility -# variant), and letting it propagate aborts latter test suites. +# maestro-runner exits non-zero when the tag filter matches zero flows. That's +# not a real failure for us (e.g. running a single flow that has no +# accessibility variant), and letting it propagate aborts latter test suites. run_maestro() { local tmp rc tmp=$(mktemp) - # `script` allocates a pseudo-TTY so maestro keeps + # `script` allocates a pseudo-TTY so the runner keeps # ANSI colors when piped through `tee`. + # Global flags (--device, --driver, --env, tags) come before `test`. if [[ "$OSTYPE" == darwin* ]]; then - script -q /dev/null maestro test "$@" 2>&1 | tee "$tmp" + # shellcheck disable=SC2086 + script -q /dev/null "$MAESTRO_BIN" --platform "$PLATFORM" --device "$DEVICE_ID" $DRIVER_ARGS $EXTRA "$@" test $FLOWS 2>&1 | tee "$tmp" else local cmd - cmd=$(printf '%q ' maestro test "$@") + # shellcheck disable=SC2086 + cmd=$(printf '%q ' "$MAESTRO_BIN" --platform "$PLATFORM" --device "$DEVICE_ID" $DRIVER_ARGS $EXTRA "$@" test $FLOWS) script -qc "$cmd" /dev/null 2>&1 | tee "$tmp" fi rc=${PIPESTATUS[0]} - if [ "$rc" -ne 0 ] && grep -q "did not match any Flows" "$tmp"; then + if [ "$rc" -ne 0 ] && grep -Eqi "did not match any [Ff]lows|no flows matched" "$tmp"; then echo "warn: no flows matched the tag filter — treating as success" >&2 rc=0 fi @@ -147,8 +168,7 @@ run_maestro() { set +e echo "=== Running maestro tests ===" -# shellcheck disable=SC2086 -run_maestro --device "$DEVICE_ID" --exclude-tags accessibility $EXTRA $FLOWS +run_maestro --exclude-tags accessibility EXIT_REGULAR=$? # These are the tests that require changing the system's settings @@ -156,8 +176,7 @@ EXIT_REGULAR=$? echo "=== Running maestro accessibility tests ===" set_font_scale large -# shellcheck disable=SC2086 -run_maestro --device "$DEVICE_ID" --include-tags accessibility $EXTRA $FLOWS +run_maestro --include-tags accessibility EXIT_A11Y=$? set -e diff --git a/.maestro/subflows/input_text.yaml b/.maestro/subflows/input_text.yaml new file mode 100644 index 000000000..7103ccfb7 --- /dev/null +++ b/.maestro/subflows/input_text.yaml @@ -0,0 +1,16 @@ +appId: swmansion.enriched.example +--- + +- runFlow: + when: + platform: Android + commands: + - inputText: + text: ${TEXT} + keyPress: true + +- runFlow: + when: + platform: iOS + commands: + - inputText: ${TEXT}