Tests / Test passed: 624
Archives the completed android-driver change (16/16 tasks). Promotes the driver_type="uiautomator2" scenario into the canonical driver-registry spec and moves the change artifacts to openspec/changes/archive/2026-07-13-android-driver/.
17 lines
1.3 KiB
Markdown
17 lines
1.3 KiB
Markdown
## 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
|