-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplaywright.config.ts
70 lines (69 loc) · 1.72 KB
/
playwright.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import { defineConfig, devices } from "@playwright/test";
export default defineConfig({
testDir: "e2e",
testMatch: "e2e/*.e2e.ts",
outputDir: ".playwright",
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 1 : 0,
workers: process.env.CI ? 1 : undefined,
webServer: !process.env.BASE_URL
? {
command: process.env.CI ? "pnpm start:e2e" : "pnpm dev",
url: "http://localhost:3000",
reuseExistingServer: !process.env.CI,
stdout: "pipe",
stderr: "pipe"
}
: undefined,
use: {
baseURL: process.env.BASE_URL ?? "http://localhost:3000",
trace: "on-first-retry",
screenshot: "only-on-failure",
viewport: { width: 1920, height: 1080 }
},
reporter: [
["html", { open: "never", outputFolder: "reports/e2e" }],
["junit", { outputFile: "junit.e2e.xml" }]
],
projects: [
{
name: "chromium",
use: { ...devices["Desktop Chrome"] }
},
{
name: "firefox",
use: { ...devices["Desktop Firefox"] }
},
{
name: "webkit",
use: { ...devices["Desktop Safari"] }
},
{
name: "iphone-15",
use: { ...devices["iPhone 15"] }
},
{
name: "a11y",
testMatch: "e2e/a11y.ts",
use: { ...devices["Desktop Chrome"], screenshot: "on" }
},
{
name: "a11y-dark",
testMatch: "e2e/a11y.ts",
use: { ...devices["Desktop Chrome"], screenshot: "on", colorScheme: "dark" }
},
{
name: "a11y-mobile",
testMatch: "e2e/a11y.ts",
use: { ...devices["iPhone 15"], screenshot: "on", colorScheme: "dark" }
},
{
name: "lighthouse",
testMatch: "e2e/lighthouse.ts",
use: {
screenshot: "off"
}
}
]
});