Recording of the visual regression run on www.publishloud.com · PublishLoud — app walkthrough.

In this video· click a step to jump to it

W
Passed

Test recording

PublishLoud — app walkthrough

67,400 ms · 634 pixels changed

We built this regression test for www.publishloud.com — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against www.publishloud.com. Claim it into your own workspace and re-run it on every deploy — free.

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36';
  await page.context().setExtraHTTPHeaders({ 'User-Agent': UA }).catch(() => {});
  for (const pat of [
    '**/cdn-cgi/scripts/**/email-decode.min.js',
    '**/browser.sentry-cdn.com/**',
    '**/cdn.segment.com/**',
    '**/connect.facebook.net/**',
    '**/www.googletagmanager.com/**',
    '**/static.hotjar.com/**',
  ]) { await page.route(pat, r => r.abort()).catch(() => {}); }
+75 more lines claim the test to get the full code.

Checks run

Run
Visual
2.47%
Text
DOM
Network
+55 −11
Console
A11y
A
Perf
33 over
URL
Variables
Full report
Log in →
634
Diff px
1m 07s
Duration
A
Accessible
WCAG 2.2 · 94
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

We signed into PublishLoud with Google, created a company desk for Lastest and then drove the whole Today desk: all four setup cards (Company, Voice, GitHub, Channels) and all six desk sections (Today, Scheduled, Plan, Yesterday, History, Settings). Setup is genuinely two minutes - company name plus URL and you're reading the site immediately - and the section switcher writes a ?tab= param so state survives a reload.

Highlights
  • Two-field setup, then it starts working
    Company name + website was all it took; 'Reading your website' fired straight away and the desk was populated before we'd configured voice or channels. The time-to-first-value here is short.
  • Setup checklist stays visible without blocking
    'Finish desk setup 1 of 4 done' sits above the desk rather than gating it, so we could explore Today, Plan and History before finishing configuration.
Friction points
  • Section names don't work as URLs
    The tabs are query params, so /publishloud/scheduled, /publishloud/plan and /publishloud/settings all return your '404 - this page has floated away' page. Anyone who bookmarks or guesses a section from the tab label dead-ends. A redirect from /publishloud/<section> to ?tab=<section> is a small fix.
  • Section buttons resolve to an off-screen copy first
    Each section button (Today, Scheduled, Plan...) matches twice in the DOM and the first match isn't visible, so a normal click targeting the label hit a hidden element. Screen readers and keyboard users walk that same duplicate set.

6 visual changes

Step 123 px changed
Before
Before
After
After
Diff
Diff
Step 226 px changed
Before
Before
After
After
Diff
Diff
Step 37 px changed
Before
Before
After
After
Diff
Diff
Step 48 px changed
Before
Before
After
After
Diff
Diff
Step 523 px changed
Before
Before
After
After
Diff
Diff
Step 7547 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
tests
all passing
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
56,708 test runs recorded · 988 products tested with Lastest

This test was built for www.publishloud.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.