ci: type a test value in the ios warm-up flow and log what the driver does

This commit is contained in:
Linus Rath
2026-10-22 01:28:13 +02:00
parent 3748a64b10
commit fa68b2eb53
2 changed files with 16 additions and 0 deletions
+10
View File
@@ -132,6 +132,12 @@ jobs:
# first time a text field gets focus, and typed text goes nowhere.
xcrun simctl spawn "$UDID" defaults write com.apple.keyboard.preferences DidShowContinuousPathIntroduction -bool true
xcrun simctl spawn "$UDID" defaults write com.apple.keyboard.preferences KeyboardContinuousPathEnabled -bool false
# Predictions, autocorrect and password AutoFill can swallow or
# rewrite what XCTest types.
xcrun simctl spawn "$UDID" defaults write com.apple.keyboard.preferences KeyboardPrediction -bool false
xcrun simctl spawn "$UDID" defaults write com.apple.keyboard.preferences KeyboardAutocorrection -bool false
xcrun simctl spawn "$UDID" defaults write com.apple.keyboard.preferences KeyboardAutocapitalization -bool false
xcrun simctl spawn "$UDID" defaults write com.apple.WebUI AutoFillPasswords -bool false || true
xcrun simctl install "$UDID" "$APP"
echo "UDID=$UDID" >> "$GITHUB_ENV"
xcrun simctl list devices | grep "$UDID"
@@ -173,6 +179,10 @@ jobs:
(cd "$OUT/screenshots" && maestro --device "$UDID" test \
--debug-output "$RUNNER_TEMP/maestro-warmup" "$GITHUB_WORKSPACE/.maestro/launch.yaml")
STATUS=$?
echo "::group::Maestro warm-up log (typing)"
find "$RUNNER_TEMP/maestro-warmup" -name 'maestro.log' -exec grep -n -i -E "inputText|typeText|keyboard|input_text|Exception|error" {} \; | tail -n 120
echo "::endgroup::"
maestro --device "$UDID" hierarchy > "$OUT/hierarchy-warmup.json" 2>/dev/null || true
if [ $STATUS -ne 0 ]; then
echo "::group::Maestro warm-up log"
find "$RUNNER_TEMP/maestro-warmup" -name 'maestro.log' -exec tail -n 300 {} \;
+6
View File
@@ -1,5 +1,6 @@
# Fresh install: the app starts and shows the sign-in choices.
# Needs no server, so it also runs when the test account secrets are missing.
# It types only a made-up address, so its debug log is safe to print.
appId: org.bulwarkmail.mobile
name: Launch to sign-in
tags:
@@ -18,4 +19,9 @@ tags:
visible:
id: login-server-input
timeout: 10000
- tapOn:
id: login-server-input
- runFlow: subflows/dismiss-keyboard-tip.yaml
- inputText: "mail.example.com"
- takeScreenshot: 02-server-step
- assertVisible: "mail.example.com"