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