Generate test assets from recorded actions
qa_generateGenerate reusable test assets—flows, page objects, suites, test cases, or Appium projects—from recorded mobile app actions, with optional plan previews and replay checks.
Instructions
Generate reusable test assets from the actions recorded in this session. target: flow (Flow V2 YAML), pom (page objects), suite (POM suite under .swipium/, compiled to flows, replay-gated), testcases (TC catalog), appium (WebdriverIO or Python project; can bootstrap from projectRoot). mode:"plan" previews. Durable repo suite: qa_suite_generate.
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": {
"target": "<target>"
},
"name": "qa_generate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | generate (default) or plan (read-only preview). | |
| name | No | Asset name (default from the app id). | |
| save | No | Write files (default: suite/appium true, others false). | |
| device | No | appium: device to bootstrap on. | |
| format | No | testcases (default both) | |
| replay | No | suite: replay gate (default dry_run; fresh_state needs stateProfile). | |
| target | Yes | ||
| approve | No | ||
| backend | No | appium plan: preferred backend. | |
| compile | No | suite: compile to runnable Flow V2 (default true). | |
| feature | No | appium: focus for plan/bootstrap. | |
| language | No | appium (default auto-detected) | |
| platform | No | appium | |
| bootstrap | No | appium: record actions first when none exist. | |
| consentId | No | suite fresh_state / appium project write. | |
| includeCi | No | appium: also emit ci.example.yml. | |
| sessionId | No | Required except for target:"appium". | |
| projectRoot | No | appium: plan/bootstrap without a session. | |
| stateProfile | No | suite: for replay:"fresh_state". | |
| budgetProfile | No | flow | |
| candidateOnly | No | appium: brittle locators do not fail validation. | |
| brittleThreshold | No | appium: max brittle-locator % (default 40). | |
| integrateIntoProject | No | appium: write into the project (consent-gated, never overwrites). |