From f00cd6a259a6f643b00c3a04cf90303538444fb0 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Thu, 22 Oct 2026 09:54:21 +0200 Subject: [PATCH] ci: check and retype web sign-in fields in the ios flows --- .maestro/subflows/stalwart-login-page.yaml | 7 ++++-- .maestro/subflows/type-web.yaml | 27 +++++++++++++++------- .maestro/subflows/webmail-login-page.yaml | 1 + 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.maestro/subflows/stalwart-login-page.yaml b/.maestro/subflows/stalwart-login-page.yaml index d8db349a..b2ae066c 100644 --- a/.maestro/subflows/stalwart-login-page.yaml +++ b/.maestro/subflows/stalwart-login-page.yaml @@ -6,8 +6,11 @@ appId: org.bulwarkmail.mobile visible: "you@example.com" timeout: 60000 - takeScreenshot: stalwart-login-page -- tapOn: "you@example.com" -- inputText: ${LOGIN} +- runFlow: + file: type-web.yaml + env: + HINT: "you@example.com" + TEXT: ${LOGIN} - tapOn: "••••••••" - inputText: ${PASSWORD} - runFlow: diff --git a/.maestro/subflows/type-web.yaml b/.maestro/subflows/type-web.yaml index d8026ea1..35aad3a2 100644 --- a/.maestro/subflows/type-web.yaml +++ b/.maestro/subflows/type-web.yaml @@ -1,14 +1,25 @@ # Type TEXT into a web page field found by its placeholder HINT (the sign-in -# pages in the auth session). First character alone, as in type.yaml. +# pages in the auth session), and check it arrived as typed. Now and then a +# stray character lands in front of it on the CI simulator; then select the +# field's text and type over it. SECRET=yes skips the check (a password +# field shows dots). appId: org.bulwarkmail.mobile --- -- evalScript: ${output.webHead = TEXT.slice(0, 1); output.webTail = TEXT.slice(1)} - tapOn: ${HINT} - waitForAnimationToEnd: timeout: 3000 -- inputText: ${output.webHead} -- extendedWaitUntil: - visible: "zz-no-such-element-zz" - timeout: 1000 - optional: true -- inputText: ${output.webTail} +- inputText: ${TEXT} +- runFlow: + when: + true: ${SECRET != 'yes'} + commands: + - runFlow: + when: + notVisible: ${TEXT} + commands: + - longPressOn: ".*${TEXT}.*" + - tapOn: + text: "Select All" + optional: true + - inputText: ${TEXT} + - assertVisible: ${TEXT} diff --git a/.maestro/subflows/webmail-login-page.yaml b/.maestro/subflows/webmail-login-page.yaml index 33829d38..e2c8680c 100644 --- a/.maestro/subflows/webmail-login-page.yaml +++ b/.maestro/subflows/webmail-login-page.yaml @@ -16,6 +16,7 @@ appId: org.bulwarkmail.mobile env: HINT: "Enter your password" TEXT: ${PASSWORD} + SECRET: "yes" - tapOn: "Sign in" - runFlow: when: