Audit and harden Maestro flows under flows/ with cross-platform guards and expanded negative coverage#6947
Draft
Copilot wants to merge 8 commits into
Draft
Conversation
Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Agent-Logs-Url: https://github.com/KeeperCommunity/bitcoin-keeper/sessions/9dfc2561-dabf-4ed9-8d71-2825a8cdd05b Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Agent-Logs-Url: https://github.com/KeeperCommunity/bitcoin-keeper/sessions/9dfc2561-dabf-4ed9-8d71-2825a8cdd05b Co-authored-by: cakesoft-swati <62699947+cakesoft-swati@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Audit and update Maestro YAML test flows in flows folder
Audit and harden Maestro flows under May 11, 2026
flows/ with cross-platform guards and expanded negative coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR audits every existing Maestro flow in
flows/and tightens reliability for Android+iOS execution. It also expands scenario coverage with additional negative-path journeys and documents what remains outside reliable Maestro-only automation.Flow reliability hardening (all existing
flows/*.yaml)Reusable composition for consistency
_common_unlock_if_needed.yaml_common_enter_passcode_1111.yaml_common_open_wallet.yaml_common_open_manage_keys.yaml_common_handle_runtime_permissions.yamlrunFlowrather than repeating inline steps.Expanded journey and negative-path coverage
sendInvalidInput.yaml(missing/invalid send input paths)cancellationNavigation.yaml(cancel/back behavior across key screens)permissionHandling.yaml(deny/allow handling for runtime permissions)sanity.yamlto exercise broader end-to-end journeys already implied by existing coverage (onboarding, wallet lifecycle, receive/send, key and app settings surfaces).Explicit automation boundary documentation
FLOWS_LIMITATIONS.mdto capture remaining app coverage gaps and flows that cannot be made fully deterministic with Maestro alone (external hardware/app handoffs, OS dialog variance, network-dependent outcomes, etc.).Example of the new reusable pattern:
Original prompt
Create a pull request in
KeeperCommunity/bitcoin-keeperagainst branchfeat/openspec-integrationthat audits and updates the Maestro YAML test flows under theflows/folder only.Requirements:
flows/and fix issues so the YAML scripts are as robust as possible for both Android and iOS.flows/folder.flows/folder, including happy-path and negative-path scenarios for major app capabilities.flows/.The user specifically asked for 'perfect .yaml scripts' that run on Android and iOS, but you should be realistic: improve them significantly and document any platform limitations or app behaviors that prevent full Maestro-only automation.
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: @KeeperCommunity/bitcoin-keeper/files/flows
here are my older test cases
Assistant: I’ll inspect the
flowsfolder inKeeperCommunity/bitcoin-keeperand review the older test cases there.Assistant: I found your older
flowstest cases inKeeperCommunity/bitcoin-keeperat commit8805000cd32e029d9dd8a4865fece85b13a214e7.Files present in
flows/:addNewKey.yamladdwallet.yamlappsettings.yamlbuyBTC.yamlcopywalletaddress.yamleditwallet.yamleditwalletdetails.yamlexportseed.yamlhealthCheckKey.yamlhidendeletekey.yamlkeySetting.yamllogin.yamlnewapp.yamlreceive.yamlreceivesats.yamlrefreshwallet.yamlsanity.yamlsend.yamlsetpin.yamlsubscription.yamlversionhistory.yamlviewwallet.yamlwalletSetting.yamlA few representative older cases I inspected:
sanity.yaml→ bootstraps withnewapp,addwallet,addNewKeysend.yaml→ send flow with address entry, amount, fee selection, passcode, success checkreceive.yaml→ receive screen open/back flowviewwallet.yaml→ wallet detail screen assertionsappsettings.yaml→ app settings assertions plus export seed/version historysetpin.yaml→ passcode creation/confirmation flowExample snippet:
Code search results may be incomplete because search responses are limited to 10 results. You can view more in GitHub UI here:
https://github.com/KeeperCommunity/bitcoin-keeper/search?q=path%3A%2F%5Eflows%5C%2F.%2A%2F&type=code
If you want, I can next:
User: just create new maestro test cases
Assistant: Please specify exactly which new Maestro test cases you want created under
KeeperCommunity/bitcoin-keeperon branchfeat/openspec-integration.For example, tell me:
flows/cases into new Maestro tests on that branch.If you want, you can simply say something like:
flows/*.yamlinto new Maestro test cases onfeat/openspec-integration”Once you confirm the scope, I can create the files.
User: I want you to generate maestro test cases for bitcoin keeper app.
Assistant: I’m waiting for your response to the approval dialog so I can continue creating the new Maestro test cases.
User: @copilot Accepted Confirmation: Confirm agent session
Assistant: Started — I’ve kicked off the work to generate the new Maestro test cases for
KeeperCommunity/bitcoin-keeperfrom `feat/openspec-integrati...This pull request was created from Copilot chat.