Run multiple independent Kane CLI browser tests in parallel using shell background processes or AI agent sub-tasks.
Run independent browser tests at the same time to cut total execution time. When tests run one after another, the total time is the sum of their durations. When they run in parallel, the total is only as long as the slowest test.
If your repo has committed _test.md tests, use a single testrun command instead of a shell loop. --parallel <n> sets the number of workers (default 1). The suite runs as one execution, with one exit code and one sealed evidence pack:
kane-cli testrun run --tags smoke --parallel 4 # 4 local workerskane-cli testrun run --tags smoke --remote --parallel 4 # a web suite on 4 grid runners
Each desktop worker gets its own isolated Chrome with a fresh temporary profile. Tests running in parallel never share cookies, logins, or tabs, and never compete for your real browser profile.
A local suite that contains any emulator or simulator test requires --parallel 1, and Kane CLI refuses larger values. Isolated Chrome workers apply to desktop tests only.
Real-device tests (target: android / target: ios) each open their own device session, so you can use --parallel locally and with --remote, up to the real devices your plan allows. Extra sessions queue for up to 15 minutes.
With --remote, --parallel N sets the job’s concurrency. The tests are split automatically across N grid runners, and each runner works through its share one test at a time. Device suites run in parallel the same way, and every task has its own VM and device.
kane-cli run "Log in and verify dashboard" --url https://myapp.com --headless --timeout 120kane-cli run "Search for products and verify results" --url https://myapp.com --headless --timeout 120kane-cli run "Complete checkout and confirm order" --url https://myapp.com --headless --timeout 120
With an AI coding agent (Claude Code, Codex CLI, Gemini CLI), use the agent’s own parallel-task feature to start several sub-agents at once. Each sub-agent runs one Kane CLI command and returns structured results.Agent prompt template (give this to each sub-agent):
Run this Kane CLI browser test and report the results: kane-cli run "<objective>" --agent --headless --timeout 120After the command completes:1. Capture the exit code2. Parse the run_end event (last line of stdout)3. If status is "failed", read the failing step's screenshot from run_dir4. Return: { status, steps, duration, summary, session_dir, failure_step, screenshot_path }