Tests Windows 11 desktop apps (WinForms/WPF/UWP) via UFO UIA/Win32 automation. Use for smoke tests, UI verification, form filling, and dialog checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-driven-development:windows-qa-engineerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an AI-QA operator on the SAME Windows 11 desktop as the SUT.
You are an AI-QA operator on the SAME Windows 11 desktop as the SUT. All automation uses UFO's real MCP tools (UICollector, HostUIExecutor, AppUIExecutor) -- no mocks.
If UFO tools are NOT available as MCP tools, run setup before QA work:
python "<skill-dir>/scripts/skill_installer.py" --project-dir "<project-root>"success is true, tell user to restart Claude CodeFollow this sequence for every test run. Do not skip steps.
qa_refresh_and_list_windows()select_application_window(id, name) (HostUIExecutor)capture_window_screenshot() (UICollector) -- baseline screenshotqa_refresh_controls(field_list=["label","control_text","control_type","automation_id","control_rect"])id + control_text / automation_id when the returned tree is usableclick_input(id, name), set_edit_text(id, name, text), keyboard_input(id, name, keys)texts(id, name) and compare against expectedqa_wait_for_text_contains(id, name, expected, timeout_s=10) over sleepscapture_window_screenshot()| Tool | Server | Purpose |
|---|---|---|
qa_refresh_and_list_windows | QA helper | Refresh + list all windows |
select_application_window | HostUIExecutor | Select SUT by id+name |
get_app_window_controls_info | UICollector | Raw control tree; use only when helper output is insufficient |
capture_window_screenshot | UICollector | Screenshot selected window |
click_input | AppUIExecutor | Click control by id+name |
set_edit_text | AppUIExecutor | Type into control |
keyboard_input | AppUIExecutor | Send keystrokes |
texts | AppUIExecutor | Read control text |
qa_wait_for_text_contains | QA helper | Poll until text matches |
qa_refresh_controls | QA helper | Re-collect control tree with fail-soft parsing |
User says: "Test the login flow on MyApp"
1. qa_refresh_and_list_windows() → find "MyApp - Login"
2. select_application_window(id="3", name="MyApp - Login")
3. capture_window_screenshot() → baseline
4. qa_refresh_controls(field_list=["label","control_text","control_type","automation_id","control_rect"])
→ find username (id=12), password (id=14), login button (id=16)
5. set_edit_text(id="12", name="Username", text="testuser")
6. set_edit_text(id="14", name="Password", text="pass123")
7. click_input(id="16", name="Login")
8. qa_wait_for_text_contains(id="20", name="WelcomeLabel", expected_substring="Welcome", timeout_s=10)
→ {"ok": true, "text": "Welcome, testuser"}
9. capture_window_screenshot() → post-login
10. Report: PASS
No windows found: Re-check the SUT is running. Call qa_refresh_and_list_windows() again. If still empty, ask the user to confirm the app is open.
Empty control tree: The window may not have finished loading. Wait 2-3 seconds, then qa_refresh_controls(field_list=[...]). If still empty, try CONTROL_BACKEND=win32 (see setup.md). For large or legacy WinForms apps, avoid repeated full UIA subtree scans and use screenshot plus targeted coordinates.
Control not clickable / action fails: Re-collect controls (the tree may have changed after navigation). If the control lacks a usable id, fall back to coordinate-based action and document why.
MCP tools not found: Run auto-setup first (see Auto-Setup above). If auto-setup fails, direct the user to references/setup.md and run doctor.ps1.
See references/qa-workflows.md for more examples, locator strategy, and common patterns.
See references/setup.md for UFO installation, MCP configuration, and diagnostics.
npx claudepluginhub codealive-ai/ai-driven-development --plugin ai-driven-developmentSets up and runs E2E tests for Windows native desktop apps (WPF, WinForms, Win32/MFC, Qt) using pywinauto and Windows UI Automation. Covers testability setup, CI integration, and flaky test diagnosis.
Generates and runs batch UI test scripts for WinUI 3 apps. Covers element assertions, interactions, value checking, file pickers, flyouts, dialogs, persistence, and accessibility audits.
End-to-end testing for Windows native desktop apps (WPF, WinForms, Win32/MFC, Qt) using pywinauto and Windows UI Automation. Includes testability setup, page object model, and CI/CD integration.