Each test builds its pages in its own sandbox folder (search tests use a random word), so tests no longer rely on earlier tests' leftovers and run alone, in any order, or in parallel. The seed is just the home page. Parallel load hid the htmx settle race from the timing-based tests, so a dedicated test now submits a dialog in the task right after it is inserted, which fails deterministically without the fix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
690 B
JavaScript
27 lines
690 B
JavaScript
import { defineConfig } from "@playwright/test";
|
|
|
|
const port = process.env.E2E_PORT || "8765";
|
|
|
|
export default defineConfig({
|
|
testDir: "tests",
|
|
// Tests share one server and wiki but each works in its own sandbox folder,
|
|
// so they can run in parallel.
|
|
workers: 4,
|
|
fullyParallel: true,
|
|
reporter: "list",
|
|
use: {
|
|
baseURL: `http://127.0.0.1:${port}`,
|
|
// System Chrome; no Playwright browser download needed.
|
|
channel: "chrome",
|
|
trace: "retain-on-failure",
|
|
screenshot: "only-on-failure",
|
|
},
|
|
webServer: {
|
|
command: "node server.mjs",
|
|
url: `http://127.0.0.1:${port}/`,
|
|
timeout: 120_000,
|
|
reuseExistingServer: false,
|
|
stdout: "pipe",
|
|
},
|
|
});
|