playwright.config.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { defineConfig, devices } from '@playwright/test';
  2. export default defineConfig({
  3. testDir: './specs',
  4. fullyParallel: true,
  5. forbidOnly: !!process.env.CI,
  6. retries: process.env.CI ? 2 : 0,
  7. workers: process.env.CI ? 1 : undefined,
  8. timeout: 60000,
  9. reporter: [
  10. ['html'],
  11. ['list'],
  12. ['junit', { outputFile: 'test-results/junit.xml' }]
  13. ],
  14. use: {
  15. baseURL: process.env.E2E_BASE_URL || 'http://localhost:8080',
  16. trace: 'on-first-retry',
  17. screenshot: 'only-on-failure',
  18. video: 'retain-on-failure',
  19. },
  20. projects: [
  21. {
  22. name: 'chromium',
  23. use: { ...devices['Desktop Chrome'] },
  24. },
  25. {
  26. name: 'firefox',
  27. use: { ...devices['Desktop Firefox'] },
  28. },
  29. {
  30. name: 'webkit',
  31. use: { ...devices['Desktop Safari'] },
  32. },
  33. {
  34. name: 'Mobile Chrome',
  35. use: { ...devices['Pixel 5'] },
  36. },
  37. {
  38. name: 'Mobile Safari',
  39. use: { ...devices['iPhone 12'] },
  40. },
  41. ],
  42. webServer: {
  43. command: 'npm run dev',
  44. url: 'http://localhost:8080',
  45. reuseExistingServer: !process.env.CI,
  46. timeout: 120000,
  47. },
  48. });