Skip to content
Testing
Skill

/playwright-network-mocking

Playwright workflows for deterministic third-party responses using page.route().

From plugin
playwright-agent-skills
94 skills

Claude Code

$ npx -y skills add hzijad/playwright-agent-skills --skill playwright-network-mocking --agent claude-code

SKILL.md

playwright-network-mocking.SKILL.md
name: playwright-network-mocking
description: Playwright workflows for deterministic third-party responses using page.route().

Playwright Network Mocking

Overview

Use this skill when a test depends on a slow, unreliable, or external service and you need deterministic responses without hitting the real provider. It lets you isolate the boundary that matters while keeping the rest of the application real.

Do not use this skill when the real third-party integration is the feature under test, or when the app is already local and deterministic without request interception.

When to Use

  • When a test depends on an unreliable or slow external API.
  • When you need deterministic responses for billing, email, auth, analytics, or similar services.
  • When you want to mock the minimum necessary surface area and leave the rest of the app untouched.

When Not to Use

  • When the test must validate a real provider integration end to end.
  • When the login UI is the feature under test.
  • When you are diagnosing a flaky test and should start with `playwright-debugging` instead.

Network Interception

Use `page.route()` to replace external responses with deterministic data before the page makes the request.

import { test, expect } from '@playwright/test';

test('shows premium dashboard when billing is active', async ({ page }) => {
  await page.route('**/api/v1/billing/status', async route => {
    await route.fulfill({
      status: 200,
      json: {
        subscription: 'active',
        plan: 'premium',
      },
    });
  });

  await page.goto('/dashboard');

  await expect(page.getByRole('heading', { name: 'Welcome to Premium' })).toBeVisible();
});

Intercept only the unstable boundary and leave the rest of the application real. If the code under test makes several external calls, mock the minimum necessary surface area.

Prefer `page.route()` when the response is part of the behavior under test and must be controlled from the browser context. If you need broader, suite-wide control, consider a fixture or a backend test double instead of scattering route handlers through individual tests.

Verification

Verify the intercepted request produces the expected UI and that the real service is not required for the test to pass.

Typical checks:

npx playwright test tests/dashboard.spec.ts

Use trace viewer or UI mode to confirm the mocked response is the one the app consumed.

Read more
@hzijad
Ships withplaywright-agent-skills

Playwright test patterns that avoid the mistakes agents make by default. Playwright Agent Skills is a small, opinionated set of reusable prompts for writing and reviewing Playwright tests.

Stars on GitHub

Momentum

stars in total
9
Star history of hzijad/playwright-agent-skills on GitHub, a chart by star-history.com

Other skills on playwright-agent-skills.

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafana3d78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

promptfoo11d27k
@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about playwright-network-mocking.

Which coding agents can use playwright-network-mocking?
playwright-network-mocking installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.