mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 11:07:10 +00:00
41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
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 asks the backend to bring the target app to the foreground.
|
|
// launcherActivity is an optional "<pkg>/<activity>" component that
|
|
// overrides the backend's default launcher resolution — needed for
|
|
// apps that declare multiple MAIN+LAUNCHER activities.
|
|
Launch(ctx context.Context, bundleID, launcherActivity string, clearState bool) error
|
|
Terminate(ctx context.Context) error
|
|
|
|
Tap(ctx context.Context, x, y int) error
|
|
TapSelector(ctx context.Context, selector string) 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
|
|
}
|