Skip to content

CW 882: Integrate Seed Verification Flow To Integration Tests#1966

Merged
OmarHatem28 merged 77 commits intomainfrom
Integrate-Seed-Verification-Flow-To-Integration-Tests
Jul 17, 2025
Merged

CW 882: Integrate Seed Verification Flow To Integration Tests#1966
OmarHatem28 merged 77 commits intomainfrom
Integrate-Seed-Verification-Flow-To-Integration-Tests

Conversation

@Blazebrain
Copy link
Copy Markdown
Contributor

Issue Number (if Applicable): Fixes #

Description

Please include a summary of the changes and which issue is fixed / feature is added.

Pull Request - Checklist

  • Initial Manual Tests Passed
  • Double check modified code and verify it with the feature/task requirements
  • Format code
  • Look for code duplication
  • Clear naming for variables and methods

This change:
- Updates apkl file naming to use sanitized branch names for better consistency.
- Adds a step to output system environment information to aid in troubleshooting.
- Enhances KVM setup with checks to see if device exists and there is proper permission.
- Adjusts working directory references for Android emulator setup.
This change:
- Adds cleanup steps for existing emulator processes to ensure fresh environment.
- Updates APK file naming to use sanitized branch names for consistency.
- Enhances debug output for APK file creation and searching, improving visibility during the workflow.
This change:
- Increases timeout for integration tests to 60 minutes.
- Adds a timeout of 90 minutes for the automated integration test job.
- Improves KVM setup with detailed checks and outputs for existing device, permissions, and functionality.
- Adds system resource checks to provide information on memory, disk space, and CPU cores during the workflow.
- Implements error handling for the integration test runner to ensure graceful failure reporting.
…checks

This change:
- Enhances the scrolling logic in the CommonTestCases to check for item visibility before scrolling.
- Adds error handling and logging for transaction history checks in TransactionsPageRobot.
- Adds comprehensive item checks and scrolling for more reliable tests.
…and logging

This change:
- Implements error handling and logging throughout the integration test runner.
- Introduces a cleanup function for data directories and signal handling.
- Enhances test execution with retry logic and detailed duration tracking.
- Provides a comprehensive summary of test results, including passed and failed tests with their durations.
…Integrate-Seed-Verification-Flow-To-Integration-Tests
…workflow

This change simplifies the automated integration test workflow by removing the manual emulator startup process, which was previously included to handle cases where no emulator was running. The workflow now focuses on checking the emulator status and gathering device information without attempting to start an emulator manually.
This change:
- Modifies the send flow test to send $1 worth of any of the wallet currencies
- Set up switching between test wallet in case there's zero balance in any of the wallets when the test is run
- Add a mini script to check emulator readiness for the tests
@MrCyjaneK
Copy link
Copy Markdown
Collaborator

Hey - please put integration tests as part of Android ci run so we don't waste the time on building the app twice

@Blazebrain
Copy link
Copy Markdown
Contributor Author

Blazebrain commented Jul 15, 2025

Hey - please put integration tests as part of Android ci run so we don't waste the time on building the app twice

That won't be the best in this case. It would elongate the length of the Android ci unnecessarily. Plus there are other steps and optimisations present in the automated test ci not needed in the Android CI. Let's keep them separate.

Plus, its much better for each workflow file to have its own focus, as we currently do for all our workflows

…gs service, plus some syntax errors in the workflow
…nd timing adjustments

This change:
- Adds visibility checks for widgets before interaction in various test flows.
- Introduces consistent pump and settle durations to ensure UI stability during tests.
- Refines scrolling logic to confirm wallet types are visible before selection.
- Updates tap actions to include warnings for missed taps, improving test reliability.
@OmarHatem28
Copy link
Copy Markdown
Contributor

Hey - please put integration tests as part of Android ci run so we don't waste the time on building the app twice

That won't be the best in this case. It would elongate the length of the Android ci unnecessarily. Plus there are other steps and optimisations present in the automated test ci not needed in the Android CI. Let's keep them separate.

Plus, its much better for each workflow file to have its own focus, as we currently do for all our workflows

since we will be handling the CI in a different PR anyway, we can separate them into Jobs, and make the test build and the integration tests depend on that job, so we have them separated, but still only single build

Comment on lines +716 to +718
// Update the amount field with the converted value
await enterSendAmount(cryptoAmount);
await commonTestCases.defaultSleepTime();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need this, the crypto amount should be automatically populated anyway

@OmarHatem28 OmarHatem28 merged commit c417207 into main Jul 17, 2025
3 of 5 checks passed
@OmarHatem28 OmarHatem28 deleted the Integrate-Seed-Verification-Flow-To-Integration-Tests branch July 17, 2025 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants