very_good_workflows
very_good_workflows copied to clipboard
feat: Can you add a reusable workflow for running app testing using maestro or similar?
Description Thank you for the cool workflows! Great project! :]
From the overview of workflows, it would make a lot of sense to include a reusable workflow for app testing. This could be with the Dart/Flutter testing framework, or using an external tool, if you prefer that.
I am currently looking into Maestro, so I suggested that as an option.
@wolfenrain nudging you here since you've worked on user flow testing with Fluttium, I'll imagine you've looked into Maestro.
@wolfenrain nudging you here since you've worked on user flow testing with Fluttium, I'll imagine you've looked into Maestro.
@alestiago, @wolfenrain Fluttium is also an option for me. Ideally, I want to be able to perform these UI tests through GitHub Actions, so whichever solution works is OK for me :]
Note that running these tests locally is fine, but having this automated in Actions would be the best, hence why I raised the question.
In talking this over with the team one key part of this is actually making sure that we invest a bit more in integration tests in some of our packages to ensure that the workflow has integration tests to run. Given that it's not currently high priority for us to do so I'm going to move this to the backlog for future consideration but it won't be immediately actioned.
Note that I have been exploring various frameworks which all seem to work fine locally but fail on GitHub-hosted runners (Maestro, Patrol). It seems like the runners are just not powerful enough to run reliably resulting in all kinds of flaky tests. Will be of interest to find a solution that works well. Perhaps a different simulator is required?
AFAIK, I don't think Fluttium focus on integration tests (see here), and I see very few who use it with GitHub Actions workflows.
EDIT: This README is also a great resource to get an overview of which CI providers that work and which issues that occur: https://github.com/retyui/Using-GitHub-Actions-to-run-your-Maestro-Flows?tab=readme-ov-file#list-of-errors-that-you-may-get
patrol is great too