-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplaywright.config.js
More file actions
40 lines (37 loc) · 1.2 KB
/
playwright.config.js
File metadata and controls
40 lines (37 loc) · 1.2 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
import { defineConfig, devices } from '@playwright/test';
import fs from 'fs';
// Check if LoginAuth.json exists
const loginAuthExists = fs.existsSync('./LoginAuth.json');
export default defineConfig({
// Only use global setup in CI environment
globalSetup: process.env.CI ? './test/e2e/global-setup.js' : undefined,
testDir: './test/e2e',
/* 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 ? 3 : 3,
/* Opt out of parallel tests on CI. */
workers: process.env.CI ? 4 : undefined,
reporter: [['html', { outputFolder: './test/e2e/reports/' }]],
use: {
trace: 'on-first-retry',
video: 'retain-on-failure',
screenshot: 'only-on-failure',
// Only use storageState if the file exists
storageState: loginAuthExists ? './LoginAuth.json' : undefined,
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
/* Test against a mobile viewport. */
{
name: 'Mobile Chrome',
use: { ...devices['Pixel 5'] },
grep: /^(?!.*@chromium-only)/,
},
],
});