In this video· click a step to jump to it
Test recording
Phaysr — app walkthrough
21,495 ms · 3,794 pixels changed
We built this regression test for www.phaysr.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against www.phaysr.com. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const AUTH_AUTOMATABLE = true;
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = (ms = 4000) => page.waitForLoadState('networkidle', { timeout: ms }).catch(() => {});
// ─── Public phase ─────────────────────────────────────────────────────────
stepLogger.log('Scenario 1: Marketing home');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
const accept = page.getByRole('button', { name: /accept|allow|got it|ok$/i });
if (await accept.isVisible().catch(() => false)) {
await accept.click().catch(() => {});Checks run
Notes from the demo run
AI-generatedPhaysr is a single-page funnel for an AI widget that 'sees your product' and answers user questions from docs/text knowledge sources. The marketing home has zero exit routes other than /signin and /signup, extreme conversion focus. The authenticated /onboarding view is a tight widget-setup form (name, domain, path prefixes, brand color, knowledge source) with explicit helper text that reduces a class of expected support tickets.
- Single-page conversion funnelHome has no /pricing, /blog, or /about. Only outbound links are /signin and /signup. The product trusts that the demo + onboarding will sell itself.
- Onboarding helper text is unusually clear'Prefix matching: /app also matches /app/settings' on the path-filter input. Most indie products skip this and ship the helper later, reactively.
- Consistent arrow CTA visual languageStart free trial →, Generate my embed code →. Small but reinforces a 'click forward' through-line.
- Inputs lack id/name attrsSignup and signin inputs are styled controls with no id/name selectors. Anyone scripting against the form (Playwright, Cypress, Selenium) has to fall back to placeholder or type selectors.
- Console + network errors stamp tests redThird-party script noise (analytics 401s) trips Lastest's executor into failed=1 even though every screenshot is fine. Worth blocking those scripts client-side or returning them as warn.
2 visual changes
Share this run
This test was built for www.phaysr.com — 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.





