clerk-testing

por clerk

Utilidades de pruebas E2E para flujos de autenticación de Clerk en Playwright y Cypress. Compatible con ambos frameworks Playwright y Cypress con patrones de configuración específicos para cada framework (globalSetup para Playwright, comandos personalizados para Cypress). Proporciona las utilidades clerkSetup() y setupClerkTestingToken() para inicializar entornos de prueba y evitar la detección de bots. Incluye persistencia de storageState para reutilizar sesiones autenticadas entre pruebas, reduciendo el tiempo de ejecución. Requiere claves de API de prueba ( pk_test_* ,...

npx skills add https://github.com/clerk/skills --skill clerk-testing

Testing

Decision Tree

FrameworkDocumentation
Overviewhttps://clerk.com/docs/guides/development/testing/overview
Playwrighthttps://clerk.com/docs/guides/development/testing/playwright/overview
Cypresshttps://clerk.com/docs/guides/development/testing/cypress/overview

Mental Model

Test auth = isolated session state. Each test needs fresh auth context.

  • clerkSetup() initializes test environment
  • setupClerkTestingToken() bypasses bot detection
  • storageState persists auth between tests for speed

Workflow

  1. Identify test framework (Playwright or Cypress)
  2. WebFetch the appropriate URL from decision tree above
  3. Follow official setup instructions
  4. Use pk_test_* and sk_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 storageState for faster tests
  • Use page.waitForSelector('[data-clerk-component]') for Clerk UI

Anti-Patterns

PatternProblemFix
Production keys in testsSecurity riskUse pk_test_* keys
No setupClerkTestingToken()Auth failsCall before navigation
UI-based sign-in every testSlow testsUse 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 tests
  • clerk-nextjs-patterns - Next.js patterns being tested
  • Demo Repo

Más skills de clerk

clerk-monorepo
clerk
Trabaja eficazmente en el monorepo del SDK clerk/javascript. Úsalo al configurar el repositorio, compilar / probar / ejecutar un paquete, decidir cuál de los @clerk/*…
official
mosaic
clerk
Work on Mosaic UI: styling a component with slot recipes (`defineSlotRecipe` / `useRecipe` / slots / variants), or building a flow — authoring a state machine…
official
mosaic-machine
clerk
Autor y usa máquinas de estado Mosaic. Úsalo cuando el usuario esté escribiendo una máquina de estado con createMachine, modelando un flujo de múltiples pasos, conectando una máquina a React…
official
clerk-android
clerk
Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns. Use for prebuilt…
official
clerk-astro-patterns
clerk
Patrones de Astro con Clerk — middleware, páginas SSR, componentes isla, rutas API, renderizado estático vs SSR. Se activa con: astro clerk, clerk astro middleware,…
official
clerk-backend-api
clerk
Explorador y ejecutor de la API REST de Clerk Backend. Explora etiquetas, inspecciona esquemas de endpoints y ejecuta solicitudes autenticadas. Úsalo al listar usuarios, gestionar…
official
clerk-chrome-extension-patterns
clerk
Autenticación de Chrome Extension con @clerk/chrome-extension -- configuración de popup/sidepanel, syncHost para OAuth/SAML mediante aplicación web, createClerkClient para service workers y…
official
clerk-cli
clerk
Operate the Clerk CLI (`clerk` binary) for authentication, user/org/session management, impersonation, local webhook testing, deploy verification, instance…
official