| /* |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| import { defineConfig, devices } from '@playwright/test'; |
| |
| // https://playwright.dev/docs/test-configuration |
| export default defineConfig({ |
| testDir: './e2e', |
| globalSetup: require.resolve('./e2e/global-setup'), |
| globalTeardown: require.resolve('./e2e/global-teardown'), |
| fullyParallel: true, |
| forbidOnly: !!process.env.CI, |
| retries: process.env.CI ? 2 : 0, |
| workers: 4, |
| timeout: 120000, |
| expect: { |
| timeout: 60000 |
| }, |
| reporter: [ |
| [!!process.env.CI ? 'github' : 'list'], |
| ['html', { open: !!process.env.CI ? 'never' : 'always' }], |
| ['./e2e/reporter.coverage.ts'] |
| ], |
| use: { |
| baseURL: process.env.CI ? 'http://localhost:8080' : 'http://localhost:4200', |
| trace: 'on-first-retry', // https://playwright.dev/docs/trace-viewer |
| screenshot: process.env.CI ? 'off' : 'only-on-failure', |
| video: process.env.CI ? 'off' : 'retain-on-failure' |
| }, |
| projects: [ |
| { |
| name: 'chromium', |
| use: { ...devices['Desktop Chrome'] } |
| }, |
| { |
| name: 'Google Chrome', |
| use: { ...devices['Desktop Chrome'], channel: 'chrome' } |
| }, |
| { |
| name: 'firefox', |
| use: { ...devices['Desktop Firefox'] } |
| }, |
| { |
| name: 'webkit', |
| use: { |
| ...devices['Desktop Safari'], |
| launchOptions: { |
| slowMo: 200 |
| } |
| } |
| }, |
| { |
| name: 'Microsoft Edge', |
| use: { ...devices['Desktop Edge'], channel: 'msedge' } |
| } |
| ], |
| webServer: process.env.CI |
| ? undefined |
| : { |
| command: 'npm run start', |
| url: 'http://localhost:4200', |
| reuseExistingServer: true, |
| timeout: 2 * 60 * 1000 |
| } |
| }); |