mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-03 03:27:10 +00:00
feat: Maestro driver integration + DeviceDriver architecture (#32)
* proto(driver): drop launcher_activity from LaunchRequest * refactor(driver): rename Driver to DeviceDriver, drop launcherActivity from Launch * refactor(driver): rename package maestro to sidecar * feat(driver): add ChromeDriver backed by chromedp * feat(hierarchy): replace XML parser with TreeNode JSON parser * refactor(driver): update mock and runner to DeviceDriver, drop launcherActivity * feat(runner): add platform routing for web vs sidecar * test(verifier): update hierarchy fixtures from XML to TreeNode JSON * feat(sidecar): extract readLogcat/readProcMetrics; add MaestroDriverBackend - Extract readLogcat() and readProcMetrics() as internal package-level helpers parameterised by serial - Add MaestroDriverBackend wiring maestro-client AndroidDriver - Drop launcherActivity from DriverBackend interface and StubDriverBackend - Add maestro-utils and micrometer-core as explicit compile deps * refactor(sidecar): inject DriverBackend into DriverService; drop launcherActivity - Remove serial and default backend from DriverService constructor - Make backend a required parameter - Drop launcherActivity from launch RPC handler - Create MaestroDriverBackend in Main.kt when platform is android * test(sidecar): update tests for dropped launcherActivity and required backend * chore(sidecar): remove unnecessary micrometer-core direct dependency
This commit is contained in:
26 files changed
+880
-450
No files matched your search
@@ -65,7 +65,7 @@ func TestIntegrationSpecFiresInputActions(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
tree, err := hierarchy.Parse(formHierarchyXML)
|
||||
tree, err := hierarchy.Parse(formHierarchyJSON)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -105,7 +105,7 @@ func TestIntegrationSpecPropertiesEvaluate(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
tree, err := hierarchy.Parse(listHierarchyXML)
|
||||
tree, err := hierarchy.Parse(listHierarchyJSON)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -134,21 +134,21 @@ func TestIntegrationSpecPropertiesEvaluate(t *testing.T) {
|
||||
func TestIntegrationSpecActionsFireOnEachRoute(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
xml string
|
||||
hierarchy string
|
||||
snapshots Snapshots
|
||||
expectKind ActionKind
|
||||
expectOns []string
|
||||
}{
|
||||
{
|
||||
name: "list",
|
||||
xml: listHierarchyXML,
|
||||
hierarchy: listHierarchyJSON,
|
||||
snapshots: listSnapshots(),
|
||||
expectKind: ActionKindTap,
|
||||
expectOns: []string{"desc:primary_action", "desc:secondary_action"},
|
||||
},
|
||||
{
|
||||
name: "form",
|
||||
xml: formHierarchyXML,
|
||||
hierarchy: formHierarchyJSON,
|
||||
snapshots: formSnapshots(),
|
||||
expectKind: ActionKindTap,
|
||||
expectOns: []string{"desc:primary_action", "desc:secondary_action"},
|
||||
@@ -161,7 +161,7 @@ func TestIntegrationSpecActionsFireOnEachRoute(t *testing.T) {
|
||||
if err := v.Load(bundleIntegrationSpec(t)); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
tree, err := hierarchy.Parse(tc.xml)
|
||||
tree, err := hierarchy.Parse(tc.hierarchy)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user