From 69f277e1cef6733860420047864244ba1823ec54 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Sat, 31 Oct 2026 16:53:40 +0100 Subject: [PATCH] test: move to the webmail password field with safari's next key in the ios sign-in flows --- .maestro/subflows/type-web.yaml | 9 +++++++-- .maestro/subflows/webmail-login-page.yaml | 13 +++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.maestro/subflows/type-web.yaml b/.maestro/subflows/type-web.yaml index 4f899808..f145068f 100644 --- a/.maestro/subflows/type-web.yaml +++ b/.maestro/subflows/type-web.yaml @@ -4,10 +4,15 @@ # field and type again. The caret is still at the end of what was just # typed, so eraseText (which deletes before the caret) empties it; selecting # the text with a long press didn't work and appended instead. SECRET=yes -# skips the check (a password field shows dots). +# skips the check (a password field shows dots). TAP=no types into the +# field that has the focus already. appId: org.bulwarkmail.mobile --- -- tapOn: ${HINT} +- runFlow: + when: + true: ${TAP != 'no'} + commands: + - tapOn: ${HINT} - waitForAnimationToEnd: timeout: 3000 - inputText: ${TEXT} diff --git a/.maestro/subflows/webmail-login-page.yaml b/.maestro/subflows/webmail-login-page.yaml index e2c8680c..c2b5512f 100644 --- a/.maestro/subflows/webmail-login-page.yaml +++ b/.maestro/subflows/webmail-login-page.yaml @@ -11,12 +11,25 @@ appId: org.bulwarkmail.mobile env: HINT: "user@example.com" TEXT: ${LOGIN} +# On the iPhone, Safari's keyboard toolbar (Previous, Next, Done) can sit +# over the password field, and a tap there leaves the focus in Email (the +# password then went into Email). Its Next moves the focus to the password. +- evalScript: ${output.webNext = false} +- runFlow: + when: + visible: "Next" + commands: + - tapOn: "Next" + - waitForAnimationToEnd: + timeout: 2000 + - evalScript: ${output.webNext = true} - runFlow: file: type-web.yaml env: HINT: "Enter your password" TEXT: ${PASSWORD} SECRET: "yes" + TAP: "${output.webNext ? 'no' : 'yes'}" - tapOn: "Sign in" - runFlow: when: