mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-27 23:50:36 +08:00
We use built in devices for testing instead of our own custom ones. Split up desktop and mobile visual tests for better separation.
92 lines
1.9 KiB
TypeScript
92 lines
1.9 KiB
TypeScript
import type { PlaywrightTestConfig } from "@playwright/test";
|
|
import { devices } from "@playwright/test";
|
|
|
|
const config: PlaywrightTestConfig = {
|
|
testDir: "./tests/e2e",
|
|
outputDir: "./tests/artifacts",
|
|
testIgnore: "hashRouter.spec.ts",
|
|
timeout: 30_000,
|
|
expect: {
|
|
timeout: 8000,
|
|
},
|
|
fullyParallel: true,
|
|
workers: process.env.CI ? 1 : undefined,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: process.env.CI ? 2 : 0,
|
|
reporter: "list",
|
|
globalSetup: "./tests/support/globalSetup",
|
|
use: {
|
|
actionTimeout: 5000,
|
|
baseURL: "http://localhost:3001",
|
|
trace: "retain-on-failure",
|
|
},
|
|
|
|
projects: [
|
|
{
|
|
name: "chromium",
|
|
use: {
|
|
...devices["Desktop Chrome"],
|
|
},
|
|
},
|
|
{
|
|
name: "firefox",
|
|
use: {
|
|
...devices["Desktop Firefox"],
|
|
},
|
|
},
|
|
{
|
|
name: "webkit",
|
|
use: {
|
|
...devices["Desktop Safari"],
|
|
},
|
|
},
|
|
{
|
|
name: "visual-desktop",
|
|
timeout: 60_000,
|
|
expect: {
|
|
timeout: 30_000,
|
|
toHaveScreenshot: {
|
|
threshold: 0.01,
|
|
scale: "device",
|
|
animations: "disabled",
|
|
},
|
|
},
|
|
testDir: "./tests/visual/desktop",
|
|
snapshotDir: "./tests/visual/snapshots/desktop",
|
|
retries: 0,
|
|
use: {
|
|
...devices["Desktop Chrome HiDPI"],
|
|
actionTimeout: 0,
|
|
trace: "off",
|
|
},
|
|
},
|
|
{
|
|
name: "visual-mobile",
|
|
timeout: 60_000,
|
|
expect: {
|
|
timeout: 30_000,
|
|
toHaveScreenshot: {
|
|
threshold: 0.01,
|
|
scale: "device",
|
|
animations: "disabled",
|
|
},
|
|
},
|
|
testDir: "./tests/visual/mobile",
|
|
snapshotDir: "./tests/visual/snapshots/mobile",
|
|
retries: 0,
|
|
use: {
|
|
...devices["iPhone 13 Mini"],
|
|
actionTimeout: 0,
|
|
trace: "off",
|
|
},
|
|
},
|
|
],
|
|
|
|
webServer: {
|
|
command: "npm run start -- --strictPort --port 3001",
|
|
port: 3001,
|
|
},
|
|
};
|
|
|
|
export default config;
|