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
Patrol Next #661
Comments
sounds fantastic! :) |
@bartekpacia how difficult would it be to use the poc in a hackathon on january 6th, and/or how close will it be to be usable by january 6th? :) |
@neiljaywarner No guarantees, but it should be ready by then (ready as in: done 1. and 2. from the "roadmap") :) |
This phase is completed. Migration progress of features from |
This issue has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar problem, please file a new issue. Make sure to follow the template and provide all the information necessary to reproduce the issue. |
TL;DR
This issue tracks the architectural redesign of Patrol. The redesign is required to be able to circumvent longstanding issues with Flutter described here.
All your tests written using Patrol will continue to work.
The redesign will be almost completely seamless from the developer/tester perspective – it'll take place only under the hood. Some minor configuration changes might be required, like changing a line in
pubspec.yaml
or in app's native files, but that's it. So don't worry! :)Patrol Next
Synopsis
Patrol Next is the codename for Patrol's architecture redesign, which aims to enable features which are impossible to implement with the current architecture.
the ability to run on Firebase Test Lab, Amazon Device Farm, Browserstack, and similar device farm tools.
Issues unblocked/resolved:
the ability to get native test reports (just like
package:integration_test
does)The native test report formats generated by Xcode and Gradle are widely used and easily converted to other formats.
Issues unblocked/resolved:
flutter test integration_test
does #611flutter test
instead offlutter drive
#421 (we'll have our own test runner, and won't useflutter test
, norflutter drive
)Requirements
Roadmap
initial basic Proof of Concept of the new architectural approach (see POC: Patrol Next #646)
replicate
integration_test
functionality 1:1, but include Patrol-only goodies (native UI automation)We will convert the
patrol
package topatrol
plugin. It'll look similar to the integration_test plugin. Setup instructions will be roughly similar.Once this step is done, users will be able to import it and use it.
In the future/TBD:
See also:
Workshop notes
Implementation idea
There is a single app, which bundles Flutter AUT (app under test) and native integration test together. Communication between AUT and native integration is accomplished
using method channels*.*After research conducted in #646 we've learned that method channels can only be directly used on Android, because on Android AUT test and integration test run in the same process. This is not the case on iOS, where AUT and instrumentation run in separate processes, so some form of RPC is needed. In #646 eDistantObject library was used for it, but it could be anything. We should find a solution that doesn't differ too much between Android and iOS, to avoid unnecessary work.
Legend:
The text was updated successfully, but these errors were encountered: