diff --git a/detect/synthetic-monitoring/playwright-checks/troubleshooting.mdx b/detect/synthetic-monitoring/playwright-checks/troubleshooting.mdx new file mode 100644 index 00000000..7f7daa72 --- /dev/null +++ b/detect/synthetic-monitoring/playwright-checks/troubleshooting.mdx @@ -0,0 +1,94 @@ +--- +title: 'Troubleshooting Playwright Check Suites' +description: 'Learn how to troubleshoot Playwright Check Suites.' +sidebarTitle: Troubleshooting +--- + +## Playwright feature troubleshooting + + +**Issue:** Tests fail because the `webServer` defined in `playwright.config.ts` doesn't start. + +**Solution:** + +Include your server files in the Checkly configuration using [`checks.include`](/detect/synthetic-monitoring/playwright-checks/custom-dependencies#include-authentication-files): + +```typescript checkly.config.ts +import { defineConfig } from 'checkly' + +export default defineConfig({ + checks: { + playwrightConfigPath: './playwright.config.ts', + include: ['server/**/*', 'config/**/*'], + playwrightChecks: [ + // ... + ] + } +}) +``` + +Alternatively, skip `webServer` on Checkly and point to your deployed URL: + +```typescript playwright.config.ts +export default defineConfig({ + use: { + baseURL: process.env.CHECKLY + ? 'https://your-site.com' + : 'http://localhost:3000', + }, + ...(process.env.CHECKLY ? {} : { + webServer: { + command: 'npm run dev', + url: 'http://localhost:3000', + reuseExistingServer: !process.env.CI, + }, + }), +}) +``` + + + + +**Issue:** Deployed check runs no tests. + +**Solution:** + +Verify your configuration matches your Playwright setup: + +1. Check that `pwProjects` and `pwTags` match your Playwright config exactly +2. Verify `playwrightConfigPath` points to the correct file +3. Test locally with `npx checkly test` to confirm which tests run + +```typescript checkly.config.ts +checks: { + playwrightConfigPath: './e2e/playwright.config.ts', + playwrightChecks: [ + { + name: 'My tests', + logicalId: 'my-tests', + pwTags: ['@smoke'], // Must match tags in your test files + } + ], +} +``` + + + + +**Issue:** Tests configured with `headless: false` still run in headless mode. + +Checkly runs all tests in headless mode and ignores the `headless: false` option. + +**Solution:** + +Use the `CHECKLY` environment variable to enable headed mode for local development only: + +```typescript playwright.config.ts +export default defineConfig({ + use: { + headless: process.env.CHECKLY ? true : false, + }, +}) +``` + + \ No newline at end of file diff --git a/docs.json b/docs.json index 8db0badb..9448c361 100644 --- a/docs.json +++ b/docs.json @@ -210,7 +210,8 @@ "detect/synthetic-monitoring/multistep-checks/degraded-states", "detect/synthetic-monitoring/multistep-checks/file-system", "detect/synthetic-monitoring/multistep-checks/websockets", - "detect/synthetic-monitoring/multistep-checks/examples" + "detect/synthetic-monitoring/multistep-checks/examples", + "detect/synthetic-monitoring/multistep-checks/troubleshooting" ] }, { @@ -238,7 +239,8 @@ "detect/synthetic-monitoring/playwright-checks/add-to-group", "detect/synthetic-monitoring/playwright-checks/custom-dependencies", "detect/synthetic-monitoring/playwright-checks/environment-variables", - "detect/synthetic-monitoring/playwright-checks/timeouts" + "detect/synthetic-monitoring/playwright-checks/timeouts", + "detect/synthetic-monitoring/playwright-checks/troubleshooting" ] }