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
49import type { PlaywrightTestConfig } from '@playwright/test';
const config: PlaywrightTestConfig = {
projects: [
{
// High-confidence smoke/sanity checks, runs on Test App only on Ubuntu
name: 'Smoke',
testMatch: /smoke\/.*.test.ts/,
retries: 0,
},
{
// Single critical path test, runs on release recurring
name: 'Critical',
testMatch: /critical\/.*.test.ts/,
retries: 0,
},
{
// Single critical path test, runs on release recurring
name: 'Migration',
testMatch: /migration\/.*.test.ts/,
retries: 0,
},
],
webServer: {
command: 'npm run serve',
url: 'http://127.0.0.1:4010',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
},
use: {
trace: {
mode: 'retain-on-failure',
screenshots: true,
snapshots: true,
sources: true,
},
},
reporter: process.env.CI ? [['github'], ['line']] : [['list']],
timeout: process.env.CI ? 60 * 1000 : 20 * 1000,
forbidOnly: !!process.env.CI,
outputDir: 'traces',
testDir: 'tests',
expect: {
timeout: process.env.CI ? 25 * 1000 : 10 * 1000,
},
workers: 1,
globalTimeout: 20 * 60 * 1000,
};
export default config;