Recording of the visual regression run on www.phaysr.com · Phaysr — app walkthrough.

In this video· click a step to jump to it

W
Failed

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(() => {});
+139 more lines — claim the test to get the full code.

Checks run

Run
✕
Visual
0.66%
Text
—
DOM
✓
Network
—
Console
✓
A11y
—
Perf
—
URL
✓
Variables
—
Full report
Log in →
3,794
Diff px
21s
Duration
—
Accessible

Notes from the demo run

AI-generated

Phaysr 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.

Highlights
  • Single-page conversion funnel
    Home 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 language
    Start free trial →, Generate my embed code →. Small but reinforces a 'click forward' through-line.
Friction points
  • Inputs lack id/name attrs
    Signup 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 red
    Third-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

Step 13,095 px changed
Before
Before
After
After
Diff
Diff
Step 4699 px changed
Before
Before
After
After
Diff
Diff

Share this run

57,604 test runs recorded · 1,174 products tested with Lastest

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.