Newer
Older
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
import { defineConfig, devices } from '@playwright/test'
const DIR_DIST = process.env.DIR_DIST
const SERVER_URL = process.env.DASHBOARD_SERVER_URL
const DEFAULT_SERVER_PORT = parseInt(process.env.DASHBOARD_PORT ?? '27142')
const DEFAULT_SERVER_URL = `http://127.0.0.1:${DEFAULT_SERVER_PORT}`
/**
* See https://playwright.dev/docs/test-configuration.
*/
export default defineConfig({
globalSetup: require.resolve('./tests/setup'),
testDir: './tests',
/* Maximum time one test can run for. */
timeout: 30 * 1000,
expect: {
/**
* Maximum time expect() should wait for the condition to be met.
* For example in `await expect(locator).toHaveText();`
*/
timeout: 5000,
},
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: [['html', { open: 'never' }]],
use: {
actionTimeout: 0,
baseURL: SERVER_URL ?? DEFAULT_SERVER_URL,
storageState: 'session.json',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
trace: 'retain-on-failure',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
],
...(!SERVER_URL
? {
webServer: {
command: `npm run preview -- --outDir '${DIR_DIST}' --port ${DEFAULT_SERVER_PORT} --strictPort`,
port: DEFAULT_SERVER_PORT,
},
}
: {}),
})