Files
agentic-mobile-control/openspec/changes/android-driver/specs/driver-registry/spec.md
T

1.3 KiB

MODIFIED Requirements

Requirement: Driver type registry lives in the driver layer

The system SHALL provide a registry, owned by the driver package, that maps a driver_type string (e.g. "wda", "uiautomator2") to a builder function producing a DriverFactory for that type, so that any caller needing to construct a driver for a device does so without importing a concrete driver class directly.

Scenario: Building a factory for a known driver type

  • WHEN a caller requests a driver factory for driver_type="wda" with connection info (e.g. server_url, udid)
  • THEN the registry returns a DriverFactory that, when invoked, constructs a working WDADriver configured with that connection info

Scenario: Building a factory for the Android driver type

  • WHEN a caller requests a driver factory for driver_type="uiautomator2" with connection info (e.g. server_url, udid)
  • THEN the registry returns a DriverFactory that, when invoked, constructs a working AndroidDriver configured with that connection info

Scenario: Building a factory for an unknown driver type

  • WHEN a caller requests a driver factory for a driver_type that is not registered
  • THEN the registry raises a clear error naming the unsupported driver_type, instead of returning None or a factory that fails later at connect time