-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplaywright.config.ts
43 lines (41 loc) · 1.6 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
import { fileURLToPath } from 'node:url'
import { defineConfig, devices } from '@playwright/test'
import type { ConfigOptions } from '@nuxt/test-utils/playwright'
import { isCI, isWindows } from 'std-env'
const devicesToTest = [
'Desktop Chrome',
// Test against other common browser engines.
// 'Desktop Firefox',
// 'Desktop Safari',
// Test against mobile viewports.
// 'Pixel 5',
// 'iPhone 12',
// Test against branded browsers.
// { ...devices['Desktop Edge'], channel: 'msedge' },
// { ...devices['Desktop Chrome'], channel: 'chrome' },
] satisfies Array<string | (typeof devices)[string]>
/* See https://playwright.dev/docs/test-configuration. */
export default defineConfig<ConfigOptions>({
testDir: './tests',
/* Run tests in files in parallel */
fullyParallel: true,
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!isCI,
/* Retry on CI only */
retries: isCI ? 2 : 0,
/* Opt out of parallel tests on CI. */
workers: isCI ? 1 : undefined,
timeout: isWindows ? 60000 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: 'html',
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: {
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
/* Nuxt configuration options */
nuxt: {
rootDir: fileURLToPath(new URL('.', import.meta.url)),
},
},
projects: devicesToTest.map((p) => (typeof p === 'string' ? { name: p, use: devices[p] } : p)),
})