Visual assert / baseline / diff / find text / find image
qa_visualVerify UI areas that the accessibility tree can't see—maps, canvases, or iOS screens—by asserting, baseline-diffing, or finding text and images via screenshots, with optional tap to act on matches.
Instructions
Screenshot checks where the UI tree fails (maps, canvases, WDA-less iOS). mode: assert, baseline (.swipium/baselines/.png), diff, find_text (OCR, consent-gated), find_image. Finds return device coordinates + coordinateSpace; tap:true taps it (recorded + budgeted). Password/OTP screens need force:true; unverified credential screens: assert/diff not saved. Details: docs/tools.md#qa_visual.
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": {
"sessionId": "<sessionId>",
"mode": "<mode>"
},
"name": "qa_visual"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tap | No | find_text/find_image: tap the found point. | |
| mode | Yes | ||
| name | No | baseline/diff: baseline name, [A-Za-z0-9._-]{1,64}. | |
| pass | No | assert: default true; false if the expected result is NOT visible. | |
| force | No | Capture even if a secure field may be visible. | |
| query | No | find_text: text to find. | |
| reason | No | assert: extra detail. | |
| approve | No | ||
| minScore | No | find_image: min match score 0..1 (default 0.85). | |
| template | No | find_image: project PNG or swipium:// URI. | |
| assertion | No | assert: what you visually confirmed. | |
| consentId | No | ||
| sessionId | Yes | ||
| threshold | No | diff: max changed fraction to pass (default 0.02). | |
| minConfidence | No | find_text: min OCR confidence 0..1 (default 0.8). |