1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import { defineConfig, devices } from '@playwright/test';
- const isCI = !!process.env.CI;
- const baseUrl = process.env.BASE_URL || 'http://localhost:5050';
- const useWebServer = process.env.NO_WEB_SERVER !== 'true';
- /**
- * See https://playwright.dev/docs/test-configuration.
- */
- export default defineConfig({
- testDir: './src',
- testMatch: /\.e2e\.(spec\.)?ts$/,
- /* 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,
- /* 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: {
- /* Base URL to use in actions like `await page.goto('/')`. */
- baseURL: baseUrl,
- /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
- trace: 'on-first-retry',
- testIdAttribute: 'data-test-id',
- locale: 'en-GB',
- timezoneId: 'Europe/Paris',
- },
- /* Configure projects for major browsers */
- projects: [
- {
- name: 'chromium',
- use: { ...devices['Desktop Chrome'] },
- },
- {
- name: 'firefox',
- use: { ...devices['Desktop Firefox'] },
- },
- {
- name: 'webkit',
- use: { ...devices['Desktop Safari'] },
- },
- ],
- /* Run your local dev server before starting the tests */
- ...(useWebServer
- && {
- webServer: {
- command: 'npm run preview',
- url: 'http://localhost:5050',
- reuseExistingServer: !isCI,
- },
- }
- ),
- });
|