run_parallel
Run multiple Maestro flows concurrently across leased devices, distributing them round-robin to speed up mobile UI testing. Releases devices on exit, even on failure, and reports per-flow results.
Instructions
Run several Maestro flows in parallel across leased devices.
Flows are distributed round-robin over the leased devices, so N flows on M devices take roughly N/M rounds. Every device is leased for the duration and released on exit, including on failure, so a crashed run cannot strand a device.
Returns per-flow results plus wall-clock time, the sequential estimate, and the resulting speedup. A failure on one device never masks a pass on another: each result is reported separately.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"flows": "<flows>"
},
"name": "run_parallel"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Maestro environment variables, passed to every flow as -e KEY=VALUE. | |
| flows | Yes | Maestro flow files to run. Paths resolve against the server working directory. | |
| devices | No | Preferred device serials, tried first in order. Omit to use whatever the pool has free. A preferred device that is busy is skipped rather than fatal. | |
| timeout | No | Per-flow timeout in seconds. |