import { chromium } from "@playwright/test"; const BASE = "http://127.0.0.1:3100"; const b = await chromium.launch(); const ctx = await b.newContext({ baseURL: BASE }); const p = await ctx.newPage(); const where = () => new URL(p.url()).pathname + new URL(p.url()).search; const h1 = async () => (await p.locator("h1").first().innerText().catch(() => "?")); const email = `qa${Date.now()}@test.dev`; await p.goto("/signup"); await p.fill("#email", email); await p.fill("#password", "0123456789ab"); await p.getByRole("button", { name: "Create account" }).click(); await p.waitForURL(/setup|app|login/, { timeout: 20_000 }); console.log("1 signup done :", where(), "| h1:", await h1()); await p.getByRole("link", { name: "Next" }).click(); await p.waitForURL(/step=2/, { timeout: 20_000 }); console.log("2 clicked Next :", where(), "| h1:", await h1()); await p.getByRole("link", { name: "Next" }).click(); await p.waitForTimeout(2500); console.log("3 Next again :", where(), "| h1:", await h1(), "| alert:", await p.getByRole("alert").count()); // Is the session still alive after that? await p.goto("/app"); await p.waitForTimeout(2000); console.log("4 open /app :", where(), "| h1:", await h1()); await b.close();