test fixing skill

📁 chrysaliscat/designgraduation 📅 Jan 1, 1970
1
总安装量
0
周安装量
#45981
全站排名
安装命令
npx skills add https://github.com/chrysaliscat/designgraduation --skill Test Fixing Skill

Skill 文档

Test Fixing & Self-Healing

Methodology

When a test fails, do not just “try random things”. Follow this procedure:

1. Diagnosis

  • Read the Error: Is it Timeout, AssertionError, or ReferenceError?
  • Check the Artifacts: Look at the Screenshot/Video/Trace at the moment of failure.
  • Isolate: Can you reproduce it with npx playwright test --project=chromium -g "test name"?

2. Root Cause Analysis

  • Race Condition: Did the test assert before the UI finished animating? (Sol: await expect auto-retries, check await page.waitForLoadState()).
  • Data Issue: Did previous tests dirty the database? (Sol: Ensure DB reset in beforeEach or unique naming).
  • Selector Changed: Did a class name change? (Sol: Update locator to be resilient).

3. The Healing Loop

  1. Reproduce: Confirm failure locally.
  2. Patch: Apply fix (update locator, add wait, fix logic).
  3. Verify: Run test again.
  4. Regression: Run all tests in the file to ensure no side effects.

Common Fixes

Error Probable Cause Fix
TimeoutError: waiting for selector Element not in DOM Check if conditions, ensure correct page navigation.
received: "Loading..." expected: "Data" Assertion too early Use await expect().not.toHaveText("Loading...") first.
Element is not clickable Overlay/Modal blocking Check for sticky headers or previous modals not closing.