// Adds a visual mouse cursor overlay so movements are visible in videos/traces // Source idea: Playwright docs / community gist export async function installMouseOverlay( page: import("@playwright/test").Page ) { await page.addInitScript(() => { const style = document.createElement("style"); style.innerHTML = ` .__pw-mouse__ { pointer-events: none; position: fixed; left: 0; top: 0; z-index: 2147483647; width: 20px; height: 20px; background: rgba(0,0,0,0.7); border-radius: 50%; transform: translate(-50%, -50%); transition: transform 0.02s linear; } .__pw-mouse__.down { background: rgba(0,0,0,0.95); } `; document.head.appendChild(style); const dot = document.createElement("div"); dot.className = "__pw-mouse__"; document.body.appendChild(dot); window.addEventListener("mousemove", (e) => { dot.style.transform = `translate(${e.clientX}px, ${e.clientY}px)`; }); window.addEventListener("mousedown", () => dot.classList.add("down")); window.addEventListener("mouseup", () => dot.classList.remove("down")); }); }