Tool

Playwright device preset generator

Export coherent device, locale, timezone, viewport, DPR, and permission settings for Playwright test projects.

Deterministic preset generator

Generate coherent testing profiles for Playwright

Preset pixel-8-us
Manual parameter overrides
412 x 915Viewport
2.625xDPR
en-USLocale
America/New_YorkTimezone
USmobileandroidchromiumus
Manual overrides affect generated config, Node, Python, and JSON exports. The CI recipe keeps the saved preset ID so repository gates stay reviewable.
import { defineConfig } from '@playwright/test';

export default defineConfig({
  projects: [
    {
      name: "pixel-8-us",
      use: {
        userAgent: "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36",
        viewport: {"width":412,"height":915},
        screen: {"width":412,"height":915},
        deviceScaleFactor: 2.625,
        isMobile: true,
        hasTouch: true,
        locale: "en-US",
        timezoneId: "America/New_York",
        permissions: ["geolocation"],
        colorScheme: "light",
        geolocation: {"latitude":40.7128,"longitude":-74.006}
      }
    }
  ]
});

Exports are deterministic; the CI recipe uses a 90-point fail-under threshold.

Copy preset export

What does a coherent Playwright preset include?

A useful preset keeps user agent, viewport, screen, device scale factor, touch support, locale, timezone, permissions, and optional geolocation aligned. Cloak Browser exports those fields as committed test fixtures rather than one-off local settings.

How should this be used in CI?

Commit the generated JSON or Playwright project config, then run the CLI with the generated CI recipe and score threshold before a release. That catches drift when browser versions, network regions, or locale defaults change.

What is not included?

Presets do not provide a browser binary, proxy account, or bypass logic. They only describe consistent settings for authorized browser testing.