-
Notifications
You must be signed in to change notification settings - Fork 81
docs: Add a page for the Maestro integration #1721
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
HexHyperion
wants to merge
1
commit into
main
Choose a base branch
from
@hexhyperion/maestro-tests-docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Member
|
Remind me next week pls |
HexHyperion
added a commit
that referenced
this pull request
Nov 20, 2025
This PR introduces the ability to run Maestro test files (flows) on Radon simulators, either directly from the YAML files, or by selecting the file to run from the IDE panel. <img width="320" height="217" alt="Screenshot 2025-11-05 at 11 58 29" src="https://github.com/user-attachments/assets/fff8ccb8-4564-43f7-9dd7-76c8ddd25e37" /> <img width="320" height="217" alt="Screenshot 2025-11-05 at 12 00 14" src="https://github.com/user-attachments/assets/fe6538fe-c1ee-4a41-8b71-078fc30dfea8" /> Upon the start of the test, a new output channel with Maestro logs will appear, along with an indicator button on the top bar of the IDE panel. A test runner bundle will be installed on the device, and all test actions will be performed automatically. The button can be clicked to abort the test, and the underlying Maestro process will be killed, allowing to launch another one on that device. The tests are separate between devices, meaning that multiple tests can be run simultaneously, one on each device. https://github.com/user-attachments/assets/df59927a-0968-44ed-b813-a07a2cdf8295 The `maestro` command that's being called by Radon uses `adb` and `xcodebuild`/`xcrun` under the hood, which means that: - physical Android devices introduced in #1688 are fully supported and can be tested without any additional steps - we have to use shim scripts replacing the XCode commands to point Maestro to our custom iOS device set; the `xcodebuild test-without-building` command doesn't support custom sets, so we omit it and install a prebuilt XCTest runner provided by Maestro through `xcrun simctl --set <path/to/our/set>`. ### How Has This Been Tested: I successfully ran numerous test files with different Maestro commands on Expo 52-54 and bare RN 79-82 apps, both on Android and iOS simulators, and, after updating the simulator server, on a physical Android 13 phone. Processes of tests with failed assertions close properly with exit code `1`, manually aborted processes also close properly with different codes. Attempts of launching a second test on a device where one is already running or aborting result in no action and a warning message. Invalid instructions inside test files are handled by Maestro, and the process closes properly. Switching devices mid-testing doesn't break the running tests. If the selected device or app are unavailable, Maestro will close after a while. ### How Has This Change Been Documented: WIP in #1721
filip131311
pushed a commit
that referenced
this pull request
Nov 28, 2025
This PR introduces the ability to run Maestro test files (flows) on Radon simulators, either directly from the YAML files, or by selecting the file to run from the IDE panel. <img width="320" height="217" alt="Screenshot 2025-11-05 at 11 58 29" src="https://github.com/user-attachments/assets/fff8ccb8-4564-43f7-9dd7-76c8ddd25e37" /> <img width="320" height="217" alt="Screenshot 2025-11-05 at 12 00 14" src="https://github.com/user-attachments/assets/fe6538fe-c1ee-4a41-8b71-078fc30dfea8" /> Upon the start of the test, a new output channel with Maestro logs will appear, along with an indicator button on the top bar of the IDE panel. A test runner bundle will be installed on the device, and all test actions will be performed automatically. The button can be clicked to abort the test, and the underlying Maestro process will be killed, allowing to launch another one on that device. The tests are separate between devices, meaning that multiple tests can be run simultaneously, one on each device. https://github.com/user-attachments/assets/df59927a-0968-44ed-b813-a07a2cdf8295 The `maestro` command that's being called by Radon uses `adb` and `xcodebuild`/`xcrun` under the hood, which means that: - physical Android devices introduced in #1688 are fully supported and can be tested without any additional steps - we have to use shim scripts replacing the XCode commands to point Maestro to our custom iOS device set; the `xcodebuild test-without-building` command doesn't support custom sets, so we omit it and install a prebuilt XCTest runner provided by Maestro through `xcrun simctl --set <path/to/our/set>`. ### How Has This Been Tested: I successfully ran numerous test files with different Maestro commands on Expo 52-54 and bare RN 79-82 apps, both on Android and iOS simulators, and, after updating the simulator server, on a physical Android 13 phone. Processes of tests with failed assertions close properly with exit code `1`, manually aborted processes also close properly with different codes. Attempts of launching a second test on a device where one is already running or aborting result in no action and a warning message. Invalid instructions inside test files are handled by Maestro, and the process closes properly. Switching devices mid-testing doesn't break the running tests. If the selected device or app are unavailable, Maestro will close after a while. ### How Has This Change Been Documented: WIP in #1721
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 adds a documentation page for the Maestro integration introduced in #1709.
Pictures and videos are still needed, @kacperkapusciak could you add them here sometime?