rove
Hosted Playwright browser automation for AI agents
目录 / 浏览器自动化 / playwright-retry-configurations
Playwright 重试配置指南与说明 Playwright 提供了灵活的重试机制,用于处理测试执行过程中可能出现的偶发性失败。通过合理配置重试策略,可以提高测试的稳定性和可靠性。以下是关于 Playwright 重试配置的关键要点和使用方法: 1. 全局重试配置 在 Playwright 配置文件(如 playwright.config.ts 或 playwright.config.js)中,可以通过 `retries` 选项设置全局重试次数。例如: ```ts import { defineConfig } from '@playwright/test'; export default defineConfig({ retries: 2, // 每个测试最多重试 2 次(共执行最多 3 次) }); ``` 支持的取值包括: - `0`:不重试(默认)。 - 正整数:指定重试次数。 - `'1'` / `'2'`:字符串形式也支持。 - `process.env.CI ? 1 : 0`:根据环境动态设置(如在 CI 中启用重试)。 2. 项目级重试配置 可以为不同的测试项目(project)单独设置重试策略: ```ts projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, retries: 1, }, { name: 'firefox', use: { ...devices['Desktop Firefox'] }, retries: 0, } ] ``` 3. 测试用例级别重试 使用 `test.describe.configure()` 可为一组测试设置重试策略: ```ts test.describe.configure({ retries: 2 }); test('should work', async ({ page }) => { // 测试逻辑 }); ``` 或在单个测试中使用 `test.skip()`、`test.fail()` 等组合实现条件重试逻辑。 4. 重试触发条件 默认情况下,任何导致测试失败的异常都会触发重试,包括断言失败、超时、元素未找到等。但以下情况不会重试: - 语法错误或配置错误。 - `test.skip()` 显式跳过的测试。 - 标记为 `test.fail()` 的测试(除非实际通过,才会重试以确认修复)。 5. 重试与超时 每次重试都独立计算超时时间。例如,若测试超时为 30 秒,每次重试都有完整的 30 秒执行时间。 6. 查看重试结果 在测试报告中,重试的测试会显示为重试轮次(如 "retry 1", "retry 2"),便于分析稳定性问题。使用 `--reporter=html` 可生成可视化报告。 7. 最佳实践建议 - 在 CI/CD 环境中适当增加重试次数(如 1-2 次),以应对网络波动或资源竞争。 - 避免过度依赖重试掩盖真正的缺陷,应结合日志和截图分析失败原因。 - 对于关键路径测试,优先修复不稳定性而非仅靠重试。 - 使用 `expect.poll()` 或 `waitFor` 等机制替代盲目重试,提升测试健壮性。 通过合理配置重试策略,可以在测试稳定性和执行效率之间取得良好平衡。
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-04 10:26 | e4037a85 | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
Hosted Playwright browser automation for AI agents
Headless browser via Playwright
AutoApply automates job applications using a real Playwright browser
Universal full-stack QA and test architecture engine for Cursor, Claude & Windsurf
Playwright end-to-end testing MCP server — run, debug and inspect E2E tests from any AI agent: failure analysis, live DO…
一个使用 Playwright 提供浏览器自动化功能的模型上下文协议服务器
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。