mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 11:07:10 +00:00
feat(driver): Driver interface for v0.1 RPC surface
Mirrors proto/driverpb/driver.proto: Launch, Terminate, Tap, InputText, Hierarchy, Screenshot, WaitForIdle, Health. Keeps Image/Health as dedicated structs so callers don't depend on generated proto types.
This commit is contained in:
1 parent
123cbf06e7
commit
d533aef04b
1 file changed
+35
@@ -0,0 +1,35 @@
|
||||
package driver
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Driver abstracts the platform-specific UI automation backend. v0.1 surface
|
||||
// matches proto/driverpb/driver.proto. The Maestro sidecar implementation
|
||||
// lives under driver/maestro; tests use driver/mock.
|
||||
type Driver interface {
|
||||
Launch(ctx context.Context, bundleID string, clearState bool) error
|
||||
Terminate(ctx context.Context) error
|
||||
|
||||
Tap(ctx context.Context, x, y int) error
|
||||
InputText(ctx context.Context, text string) error
|
||||
|
||||
Hierarchy(ctx context.Context) (string, error)
|
||||
Screenshot(ctx context.Context) (Image, error)
|
||||
|
||||
WaitForIdle(ctx context.Context, duration time.Duration) error
|
||||
Health(ctx context.Context) (Health, error)
|
||||
}
|
||||
|
||||
type Image struct {
|
||||
PNG []byte
|
||||
Width int
|
||||
Height int
|
||||
}
|
||||
|
||||
type Health struct {
|
||||
Ready bool
|
||||
Version string
|
||||
Platform string
|
||||
}
|
||||
Reference in new issue
Block a user