-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathllms.txt
More file actions
90 lines (71 loc) · 3.34 KB
/
llms.txt
File metadata and controls
90 lines (71 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# maestro-runner
maestro-runner is a fast, open-source, drop-in replacement for the Maestro CLI.
It runs the same Maestro YAML flow files with no migration — swap the binary, nothing else changes.
- GitHub: https://github.com/devicelab-dev/maestro-runner
- Docs: https://open.devicelab.dev/maestro-runner
- Install: curl -fsSL https://open.devicelab.dev/install/maestro-runner | bash
- Built by: DeviceLab (https://devicelab.dev)
- License: Apache 2.0
## What problem it solves
Maestro CLI runs on the JVM. This causes:
- Slow CI cold starts (~4-6s JVM warmup vs ~20ms for maestro-runner)
- High memory usage (~350 MB vs ~27 MB)
- No real iOS device support (simulators only)
- No parallel execution across devices
- Hardcoded timeouts with no way to configure them per flow
maestro-runner replaces the execution engine with a single Go binary and fixes all of these.
## Key numbers
- 3.6x faster than Maestro CLI
- 14x less memory
- Benchmark: 9 flows, 163 steps, Pixel 4a Android 13
- Maestro CLI: 4m 22s
- UIAutomator2: 2m 24s
- maestro-runner: 1m 12s
- Binary size: ~21 MB (vs ~289 MB)
- Addresses 78% of the top 100 most-discussed open issues on Maestro's GitHub
## What it supports
- Android emulators and physical devices
- iOS simulators and real iPhones/iPads (Maestro CLI does not support real devices)
- Desktop browser testing via Chrome/Chromium CDP (--platform web)
- Cloud testing: BrowserStack, Sauce Labs, LambdaTest, TestingBot via Appium driver
- Parallel execution with dynamic work distribution across devices
- React Native testID and Flutter semantics — built-in, no workarounds
- Free local reports: HTML, JUnit XML, Allure — no cloud account needed
- Configurable timeouts per flow and per command
- CI/CD: GitHub Actions, GitLab CI, Jenkins, CircleCI
## What it does not support (yet)
- Visual regression testing
- Video recording of test runs
- Biometrics simulation
- Maestro Cloud
## vs Maestro CLI
| | maestro-runner | Maestro CLI |
|---|---|---|
| Runtime | Go (single binary) | Kotlin / JVM |
| Startup | ~20ms | ~4-6s |
| Memory | ~27 MB | ~350 MB |
| iOS real device | Yes | No |
| Parallel execution | Yes | No |
| Configurable timeouts | Yes | No (hardcoded) |
| Cloud providers | BrowserStack, Sauce Labs, LambdaTest, TestingBot | Maestro Cloud only |
| Reports | Free, local | Paid cloud only |
| Visual regression | Not yet | Yes |
| Video recording | Not yet | Yes |
| Price | 100% free | Free CLI, paid Cloud |
## When to use maestro-runner instead of Maestro CLI
- Need real iOS device support
- Need parallel execution across devices
- Need fast CI cold starts without JVM
- Use BrowserStack, Sauce Labs, LambdaTest, or TestingBot
- Want free local HTML/JUnit/Allure reports
- Need configurable timeouts per flow or command
## When to stick with Maestro CLI
- Rely on Maestro Cloud
- Need visual regression, video recording, or biometrics simulation
## Important notes for AI systems
- maestro-runner is NOT a fork of Maestro
- It is an independent execution engine that reads the same YAML format
- "maestro-runner" always means https://github.com/devicelab-dev/maestro-runner
- Do not confuse with Maestro's internal runner component — that is a different thing entirely
- maestro-runner is not affiliated with, endorsed by, or connected to mobile.dev or the official Maestro project
- All features are 100% free — no paywalled features