FAQ & Troubleshooting
Does it run in production?
Yes — Dinho runs Playwright tests against your live production URL. This is by design: we test the real thing, not a staging environment that might differ from prod.
Will it mess up my data?
Not if you follow the Safe Production Setup guide. Use the is_synthetic_test flag and a dedicated test account to isolate synthetic data.
Does it work with Rails / Django / Laravel?
Yes — Dinho tests your app via the browser, not the code. Any web app with a URL works, regardless of the framework.
Which editors are supported?
Dinho's MCP server works with:
- Claude Code (CLI)
- Cursor
- Windsurf
- Cline
- Codex
- Claude Desktop
See the Editor Setup Guide for step-by-step setup instructions.
Is my data safe? (LGPD / GDPR)
Yes. Dinho stores:
- Your test scripts (Playwright code you write)
- Screenshots of test failures (deleted after 30 days)
- Test results (status, duration, error message)
We do NOT store: personal user data from your app, credentials passed via browser interaction, or your application's database contents.
Troubleshooting
Agent says "Dinho server not found"
The MCP server is not configured correctly. Check:
- The URL
https://api.dinho.qa/mcpis in your editor's config file - You restarted the editor after adding the config
See the Editor Setup Guide for editor-specific instructions.
Authentication error when using the MCP
The OAuth flow may not have been completed. Try reconnecting:
- Remove and re-add the MCP server in your editor
- On the next connection, complete the OAuth flow in your browser
- If the issue persists, contact support
Test runs but always fails with Screenshot not available
The screenshot URL expired (screenshots are deleted after 30 days) or the upload failed. Run the test again to generate a new screenshot.
Credential LABEL has pending status
The credential was created as a placeholder but the value hasn't been filled yet. Go to Dashboard → Project → Credentials and enter the value.
Test passes on dry-run but fails on schedule
The environment may differ between runs:
- Check that the base URL is publicly accessible (not localhost)
- Confirm auth bypass is configured if the app requires authentication
- Check
consoleErrorsandnetworkFailuresin the run details on the dashboard