1.9 KiB
1.9 KiB
Debug Test Command
Description
Debug a failing Playwright test by analyzing error messages, screenshots, and traces. Provides actionable solutions for common test failures including timeouts, selector issues, and race conditions.
Usage
/debug-test [test-name-or-error]
Parameters
test-name-or-error- Test name, file path, or error message (optional)
Examples
/debug-test login.spec.ts
/debug-test TimeoutError: waiting for selector
/debug-test Test "user dashboard loads" is flaky
Instructions for Claude
When this command is invoked:
-
Invoke the test-debugger skill to handle debugging
-
Gather failure information:
- Error message and stack trace
- Test file location
- Expected vs actual behavior
- Screenshots/traces if available
- Failure frequency (always or intermittent)
-
Analyze the error:
- Identify error type (timeout, selector, assertion, etc.)
- Determine root cause
- Check for common issues (missing waits, wrong testid, race conditions)
-
Optionally use Playwright MCP:
- Navigate to the page if needed
- Inspect element state
- Test locator strategies
- Verify data-testid values
-
Provide solution:
- Explain what's wrong
- Show the fix with code examples
- Explain how to prevent in future
- Provide verification steps
-
Apply the fix if requested:
- Update the test code
- Add missing waits
- Fix locators
- Improve test stability
Error Handling
- If insufficient information, ask for error details
- If test file not found, ask for correct path
- If error is unclear, use MCP to investigate
- If multiple issues, prioritize and fix one at a time
Notes
- Most test failures are timing-related
- Always verify data-testid values are correct
- Use explicit waits, not hardcoded timeouts
- Check test isolation if flaky
- Run tests multiple times to verify fix