forked from dariabajda/playwright-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplaywright.config.ts
More file actions
50 lines (39 loc) · 1.6 KB
/
playwright.config.ts
File metadata and controls
50 lines (39 loc) · 1.6 KB
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
import { devices } from '@playwright/test';
import { PlaywrightTestConfig } from '@playwright/test';
import { devConfig } from './config/env/dev-config';
import { CustomTestConfig } from './config/custom-config';
import { prodConfig } from './config/env/prod-config';
import { stageConfig } from './config/env/stage-config';
const defaultConfig: PlaywrightTestConfig = {
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: !!process.env.CI,
/* Retry on CI only */
retries: process.env.CI ? 2 : 0,
/* Opt out of parallel tests on CI. */
workers: process.env.CI ? 1 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: [['list'], ['html', { open: 'never' }]],
/* 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: 'retain-on-failure',
},
/* Configure projects for major browsers */
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
};
// get the environment type from command line. If none, set it to stage
const environment = process.env.TEST_ENV || 'stage';
// config object with default configuration and environment specific configuration
const config: CustomTestConfig = {
...defaultConfig,
...(environment === 'prod' ? prodConfig : environment === 'stage' ? stageConfig : devConfig),
};
export default config;