From 663f6f000738167e744164785d4a4fc080a9e653 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Thu, 22 Oct 2026 13:56:52 +0200 Subject: [PATCH] ci: push and tap the ios banner again when the first tap misses --- .maestro/push/01-notification.yaml | 16 +++++++--------- .maestro/subflows/push-and-tap.yaml | 23 +++++++++++++++++++++++ .maestro/subflows/tap-banner.yaml | 8 -------- 3 files changed, 30 insertions(+), 17 deletions(-) create mode 100644 .maestro/subflows/push-and-tap.yaml delete mode 100644 .maestro/subflows/tap-banner.yaml diff --git a/.maestro/push/01-notification.yaml b/.maestro/push/01-notification.yaml index f6eb6dc1..ff42a409 100644 --- a/.maestro/push/01-notification.yaml +++ b/.maestro/push/01-notification.yaml @@ -49,13 +49,12 @@ tags: # 2. A tap opens the message, app in the background. The banner shows for a # few seconds and finding it takes Maestro about as long; taps on the lock # screen list do nothing on these simulators. So tap where the banner -# appears, right after the push. +# appears, right after the push (push-and-tap.yaml). - evalScript: ${output.subject = 'E2E push ' + Date.now()} -- runScript: - file: ../scripts/helper.js +- runFlow: + file: ../subflows/push-and-tap.yaml env: - CALL: /simpush?to=${ACCOUNT}&subject=${encodeURIComponent(output.subject)} -- runFlow: ../subflows/tap-banner.yaml + SUBJECT: ${output.subject} - extendedWaitUntil: visible: "Reply All" timeout: 60000 @@ -65,11 +64,10 @@ tags: # 3. The same from a cold start: the app isn't running. - stopApp - evalScript: ${output.subject2 = 'E2E push cold ' + Date.now()} -- runScript: - file: ../scripts/helper.js +- runFlow: + file: ../subflows/push-and-tap.yaml env: - CALL: /simpush?to=${ACCOUNT}&subject=${encodeURIComponent(output.subject2)} -- runFlow: ../subflows/tap-banner.yaml + SUBJECT: ${output.subject2} - extendedWaitUntil: visible: "Reply All" timeout: 90000 diff --git a/.maestro/subflows/push-and-tap.yaml b/.maestro/subflows/push-and-tap.yaml new file mode 100644 index 00000000..c126d843 --- /dev/null +++ b/.maestro/subflows/push-and-tap.yaml @@ -0,0 +1,23 @@ +# Push a message with SUBJECT to ACCOUNT (helper /simpush) and tap its banner +# where it appears, at once (it shows for a few seconds, about as long as +# Maestro takes to find it). If the tap came too early or too late, push +# again: up to three tries until the message is open. +appId: org.bulwarkmail.mobile +--- +- repeat: + while: + notVisible: "Reply All" + times: 3 + commands: + - runScript: + file: ../scripts/helper.js + env: + CALL: /simpush?to=${ACCOUNT}&subject=${encodeURIComponent(SUBJECT)} + - tapOn: + point: "50%,9%" + waitToSettleTimeoutMs: 500 + retryTapIfNoChange: false + - extendedWaitUntil: + visible: "Reply All" + timeout: 30000 + optional: true diff --git a/.maestro/subflows/tap-banner.yaml b/.maestro/subflows/tap-banner.yaml deleted file mode 100644 index 4ffbc83d..00000000 --- a/.maestro/subflows/tap-banner.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Tap the notification banner at the top of the screen, at once (it shows -# for a few seconds only). -appId: org.bulwarkmail.mobile ---- -- tapOn: - point: "50%,9%" - waitToSettleTimeoutMs: 500 - retryTapIfNoChange: false