-
Notifications
You must be signed in to change notification settings - Fork 150
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
Enable tests to perform actions on behalf of the host (using service extensions) #584
Comments
Since you already have gRPC there, and the use case for this is somewhat limited, maybe it is worth considering client streaming? |
Could you elaborate? |
gRPC is unidirectional with a single exception - client streaming. You then don't need to open additional connection to send limited commands to the client. I think this comment is somewhat irrelevant - I missed what parties you want to be connected. Sorry! When it comes to CLI <-> Dart's part of the app comms, I personally would go with Dart VM's observatory service extension - there already is CLI <-> Dart communication (although somewhat hidden - it is maintained by the Flutter Driver but, if FD is used directly, you can attach to it) and then you can use events to send requests from tests to the CLI. This will be, IMO, much more Dart-native. |
@jakubfijalkowski Whoa, this is exactly a big-brain kind of idea I'd expect from you :D This approach sounds very interesting, and I think I like it. Concern: |
The main big advantage here is that you will need to maintain only one connection. With separate gRPC server you will have to have two of them, which gets funny when only one of them breaks in a silent manner ;P |
Another use case for the HTTP server: |
patrol_cli
Patrol 1.0 works only inside the host app, so this is not longer relevant. In the future, we'll research how we can add host feautres back, but they will only work when the host is available (so, for example, not on Firebase Test Lab). See also #661. |
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. |
I want to embed an HTTP server in
patrol_cli
. Requests to that server would run shell commands (e.gadb
,flutter screenshot
) from within Dart test code running on a device.This will enable us to solve the following:
I'd like to use gRPC for this (we already use it for
Flutter <--> native
communication within a device).See also:
cc: @mateuszwojtczak, @jakubfijalkowski, @shilangyu
The text was updated successfully, but these errors were encountered: