diff options
Diffstat (limited to 'config/playwright.config.js')
-rw-r--r-- | config/playwright.config.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/config/playwright.config.js b/config/playwright.config.js new file mode 100644 index 0000000..5c574ee --- /dev/null +++ b/config/playwright.config.js @@ -0,0 +1,66 @@ +import { defineConfig, devices } from "@playwright/test"; + +const port = 30001; +export const url = `http://localhost:${port}`; + +export default defineConfig({ + // Look for test files in the "tests" directory, relative to this configuration file. + testDir: "../test/e2e/specs", + outputDir: "../private/playwright-test-results", + fullyParallel: false, + locale: "en-US", + + // 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: 1, + + // Reporter to use + reporter: [ + [ + "html", { + outputFolder: "../private/playwright-report", + open: "never", + } + ], + ], + + use: { + // Base URL to use in actions like `await page.goto('/')`. + baseURL: url, + + // Collect trace when retrying the failed test. + trace: "on-first-retry", + }, + + // Configure projects for major browsers. + projects: [ + { + name: "run-once setup", + testMatch: /setup-process\.once\.js/, + use: { ...devices["Desktop Chrome"] }, + }, + { + name: "specs", + use: { ...devices["Desktop Chrome"] }, + dependencies: [ "run-once setup" ], + }, + /* + { + name: "firefox", + use: { browserName: "firefox" } + },*/ + ], + + // Run your local dev server before starting the tests. + webServer: { + command: `node extra/remove-playwright-test-data.js && cross-env NODE_ENV=development node server/server.js --port=${port} --data-dir=./data/playwright-test`, + url, + reuseExistingServer: false, + cwd: "../", + }, +}); |