clerk-testing
E2E-Testhilfsprogramme für Clerk-Authentifizierungsabläufe in Playwright und Cypress. Unterstützt sowohl Playwright- als auch Cypress-Frameworks mit frameworkspezifischen Einrichtungsmustern (globalSetup für Playwright, benutzerdefinierte Befehle für Cypress). Bietet die Hilfsprogramme clerkSetup() und setupClerkTestingToken() zur Initialisierung von Testumgebungen und Umgehung der Bot-Erkennung. Enthält Speicherstatus-Persistenz zur Wiederverwendung authentifizierter Sitzungen über Tests hinweg, wodurch die Testausführungszeit reduziert wird. Erfordert Test-API-Schlüssel ( pk_test_* ,...
npx skills add https://github.com/clerk/skills --skill clerk-testingTesting
Decision Tree
Mental Model
Test auth = isolated session state. Each test needs fresh auth context.
clerkSetup()initializes test environmentsetupClerkTestingToken()bypasses bot detectionstorageStatepersists auth between tests for speed
Workflow
- Identify test framework (Playwright or Cypress)
- WebFetch the appropriate URL from decision tree above
- Follow official setup instructions
- Use
pk_test_*andsk_test_*keys only
Best Practices
- Use
setupClerkTestingToken()before navigating to auth pages - Use test API keys:
pk_test_xxx,sk_test_xxx - Save auth state with
storageStatefor faster tests - Use
page.waitForSelector('[data-clerk-component]')for Clerk UI
Anti-Patterns
| Pattern | Problem | Fix |
|---|---|---|
| Production keys in tests | Security risk | Use pk_test_* keys |
No setupClerkTestingToken() | Auth fails | Call before navigation |
| UI-based sign-in every test | Slow tests | Use storageState |
Framework-Specific
Playwright: Use globalSetup for auth state
Cypress: Add addClerkCommands({ Cypress, cy }) to support file
See Also
clerk-setup- Install Clerk before adding testsclerk-nextjs-patterns- Next.js patterns being tested- Demo Repo