QA Testing
Test the Electron app end-to-end using the Playwright skill and the dev server.
Setup
.bin/dev start
.bin/dev status # note the CDP URL and tmux session name
sleep 10
.bin/playwright connect <cdp-url> --session <session-name>
Always wait ~10s after start before connecting.
Workflow
- Connect Playwright to the running Electron app (see Setup).
- Take a snapshot to see current state:
.bin/playwright snapshot --session <s> - Interact with the app using
.bin/playwright exec '<code>' --session <s> - Take a snapshot after every interaction to verify the result.
- Repeat until the feature/fix is verified.
Refer to the playwright skill for command syntax and examples.
Common Selectors
- New Chat:
button:has-text("New Chat") - Chat input:
.tiptap - Send:
button[aria-label="Send message"]orMeta+Enter - Sidebar nav:
button:has-text("To Do"),button:has-text("Archive"),button:has-text("Settings")
Sending a Message
.bin/playwright exec 'await page.locator(".tiptap").click()' --session <s>
.bin/playwright exec 'await page.keyboard.type("Hello")' --session <s>
.bin/playwright exec 'await page.keyboard.press("Meta+Enter")' --session <s>
.bin/playwright snapshot --session <s>
Teardown
.bin/playwright close --session <s>
.bin/dev stop