In this video· click a step to jump to it
Test recording
getpagepulse — app walkthrough
63,200 ms · 73,501 pixels changed
We built this regression test for app.getpagepulse.io — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.getpagepulse.io. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const CFG = {"appEntry":"/","maxNav":3,"fillInteractions":[{"slug":"add-page","at":"/","openButton":"Add Page|add your first","fields":[{"sel":"input[type=url], input[placeholder*=\"url\" i], input[placeholder*=\"example\" i], input[placeholder*=\"https\" i], input[type=text]","value":"https://news.ycombinator.com"}],"ctaNames":["add page","add","track","create","save","continue"]}],"clickInteractions":[{"slug":"add-folder","at":"/","buttonName":"^Add folder$"},{"slug":"add-teammates","at":"/","buttonName":"Add Teammates"},{"slug":"page-fullview","at":"/","buttonName":"Full View"},{"slug":"pro-trial","at":"/","buttonName":"Try Pro Free|Start 14-day trial"},{"slug":"upgrade-collab","at":"/","buttonName":"Upgrade to collaborate"}]};
const shot = (i, s) => screenshotPath.replace('.png', '-' + i + '-' + s + '.png');
await page.context().setExtraHTTPHeaders({ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36' });
page.setDefaultTimeout(8000);
const noise = ['**/cdn-cgi/scripts/**/email-decode.min.js','**/cdn-cgi/scripts/**/cloudflare-static/**','**/browser.sentry-cdn.com/**','**/o.sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**','**/www.googletagmanager.com/**','**/region1.google-analytics.com/**','**/analytics.google.com/**','**/static.hotjar.com/**'];
for (const pat of noise) { await page.route(pat, function (r) { r.abort().catch(function(){}); }).catch(function(){}); }
let n = 1;
// ---------- Public phase ----------
// NOTE: never wait on 'networkidle' — these apps hold open websockets/polling so itChecks run
Notes from the demo run
AI-generatedPage Pulse delivers on its 'site analytics that finally feel simple' promise: a single, calm dashboard built around Folders and Pages rather than the usual wall of charts. Adding a page is a 30-second, no-credit-card flow, and the app immediately runs an AI read of the page and lays out a 'Getting Started' checklist toward live analytics.
- Instant AI page readSeconds after adding a URL, Page Pulse generates a plain-English 'Here's what we found' analysis with concrete CRO suggestions — value before a single visitor is tracked.
- Guided activationA 'Getting Started 1/4 complete' checklist (add page -> install script -> detect visitor -> first conversion) turns an empty dashboard into a clear next-step path.
- Team-first model'My Team', 'Add Teammates' and an 'Upgrade to collaborate' prompt make the multi-seat story visible without nagging.
- Marketing site vs app splitThe public site (getpagepulse.io) and the app (app.getpagepulse.io) are separate origins; deep-linking from one to the other isn't obvious for a first-time user.
- Empty-state stat cardsVisitors / Page Views / Conversions all read 'Waiting for data' until the script is installed — expected, but the four zeroed cards dominate the first authed view.
3 visual changes
Share this run
Proof your app is not AI slop
This test was built for app.getpagepulse.io — claim it free
One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.








