Ejecutar pruebas con Playwright
Este capítulo presenta de forma exhaustiva cómo ejecutar las pruebas de Playwright, los parámetros de línea de comandos y diversas técnicas de filtrado.
Comandos básicos de ejecución
Ejemplo
# Ejecutar todas las pruebas
npx playwright test
# Por defecto se utilizan los proyectos configurados en package.json
npm test
npx playwright test
# Por defecto se utilizan los proyectos configurados en package.json
npm test
Filtrar pruebas específicas
Por ruta de archivo
# 运行单个测试文件 npx playwright test tests/login.spec.ts # 运行目录中的所有测试 npx playwright test tests/user/ # 运行多个文件(空格分隔) npx playwright test tests/login.spec.ts tests/register.spec.ts
Por palabra clave del nombre de archivo
# 运行文件名中包含 "login" o "user" 的所有测试 npx playwright test login user
Filtrar por nombre de prueba (-g / --grep)
# 运行测试名称中包含 "登录" 的测试 npx playwright test -g "登录" # 通过正则表达式筛选 npx playwright test -g "登录|注册"
Filtrar por etiqueta (Tag)
Ejemplo
// Definir una etiqueta (tag) en la prueba
test('Prueba de humo rápida @smoke', async ({ page }) => {
// ...
});
test('Prueba lenta @slow', async ({ page }) => {
// ...
});
test('Prueba de humo rápida @smoke', async ({ page }) => {
// ...
});
test('Prueba lenta @slow', async ({ page }) => {
// ...
});
# 只运行带 @smoke 标签的测试 npx playwright test --grep "@smoke" # 跳过带 @slow 标签的测试 npx playwright test --grep-invert "@slow"
Control del navegador
Especificar navegador (--project)
# 只在 Chromium 上运行 npx playwright test --project=chromium # 在多个浏览器上运行 npx playwright test --project=chromium --project=firefox
Modo con ventana (--headed)
# 显示浏览器窗口(默认无头) npx playwright test --headed
Especificar la ruta del ejecutable del navegador
# 使用本地安装的 Chrome 而非 Playwright 的 Chromium npx playwright test --project=chromium \ --channel=chrome
Modos de ejecución
Modo UI (--ui)
# 在 UI 模式下运行(推荐开发和调试时使用) npx playwright test --ui
Modo de depuración (--debug)
# 单步调试测试 npx playwright test --debug
Paralelismo y repetición
Controlar el número de workers (--workers)
# 使用 4 个 worker 并行运行 npx playwright test --workers=4 # 单线程运行(方便调试) npx playwright test --workers=1
Repetir la ejecución (--repeat-each)
# 每个测试重复运行 3 次(检查稳定性) npx playwright test --repeat-each=3
Ejecución por fragmentos (--shard)
# 在 CI 上分片运行(分 4 片,当前为第 1 片) npx playwright test --shard=1/4 # 第 2 片 npx playwright test --shard=2/4
La ejecución por fragmentos se usa a menudo en CI para ejecutar pruebas en paralelo en varias máquinas; cada máquina ejecuta solo una parte y, finalmente, se combinan los resultados.
Capturas de pantalla y control de Trace
# 更新视觉回归的基准截图 npx playwright test --update-snapshots # 强制生成 Trace 文件(即使配置中没有开启) npx playwright test --trace on # 查看最后一次运行的 Trace npx playwright show-trace test-results/.../trace.zip
Referencia rápida de comandos comunes
| Comando | Descripción |
|---|---|
npx playwright test | Ejecutar todas las pruebas |
npx playwright test file.spec.ts | Ejecutar un archivo específico |
npx playwright test -g "关键词" | Filtrar por nombre de prueba |
npx playwright test --project=chromium | Especificar navegador |
npx playwright test --headed | Modo con ventana (muestra la ventana del navegador) |
npx playwright test --ui | Modo UI |
npx playwright test --debug | Modo de depuración |
npx playwright test --workers=4 | Especificar el número de workers |
npx playwright test --shard=1/4 | Ejecución por fragmentos |
npx playwright test --repeat-each=3 | Repetir la ejecución |
npx playwright test --update-snapshots | Actualizar las capturas de referencia visual |
npx playwright show-report | Ver el informe HTML |
npx playwright show-trace trace.zip | Ver Trace |
npx playwright codegen url | Iniciar el generador de código |