Recording of the visual regression run on postmicrotools.com · PostMicroTools — walkthrough.

In this video· click a step to jump to it

P
Passed ✓

Test recording

PostMicroTools — walkthrough

13,194 ms · 0 pixels changed · matches baseline

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const shot=(n,s)=>screenshotPath.replace('.png','-'+n+'-'+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' }).catch(function(){});
  const steps=[{"type":"goto","url":"https://postmicrotools.com/","wait":1800},{"type":"shot","label":"home"},{"type":"click","text":"Calculators"},{"type":"shot","label":"calculators"},{"type":"click","sel":"main a, [class*=card] a, ul a"},{"type":"shot","label":"a-calculator"},{"type":"click","text":"Reference"},{"type":"shot","label":"reference"}]; let idx=1;
  for (const st of steps) {
    try {
      if (st.type==='goto') { await page.goto(st.url, { waitUntil:'domcontentloaded' }).catch(function(){}); await page.waitForLoadState('networkidle').catch(function(){}); await page.waitForTimeout(st.wait||1400); { const cc=page.getByRole('button',{name:/accept|allow|got it|ok$/i}).first(); if(await cc.isVisible().catch(function(){return false;})) await cc.click().catch(function(){}); } }
      else if (st.type==='click') { const el = st.sel ? page.locator(st.sel).first() : page.getByRole('button',{name:new RegExp(st.text,'i')}).first().or(page.getByRole('link',{name:new RegExp(st.text,'i')}).first()).or(page.getByText(new RegExp(st.text,'i')).first()); if (await el.isVisible().catch(function(){return false;})) { await el.click({timeout:6000}).catch(function(){}); } await page.waitForLoadState('networkidle').catch(function(){}); await page.waitForTimeout(st.wait||1600); }
      else if (st.type==='fill') { const el=page.locator(st.sel).first(); if (await el.isVisible().catch(function(){return false;})) { await el.click().catch(function(){}); await el.pressSequentially(st.value,{delay:14}).catch(function(){ return el.fill(st.value).catch(function(){}); }); } await page.waitForTimeout(400); }
      else if (st.type==='shot') { stepLogger.log('Scenario '+idx+': '+st.label); await page.screenshot({ path: shot(idx, st.label.replace(/[^a-z0-9]+/gi,'-').slice(0,20)), fullPage:true }); idx++; }
      else if (st.type==='wait') { await page.waitForTimeout(st.ms||1500); }
    } catch(e){ stepLogger.warn('step skipped: '+(e&&e.message)); }
+3 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
✓
Text
—
DOM
✓
Network
+50 −55
Console
✓
A11y
—
Perf
✓
URL
✓
Variables
—
Full report
Log in →
0
Diff px
13s
Duration
—
Accessible
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

PostMicroTools is a no-login collection of fast calculators and reference utilities for video post-production pipelines ('small tools for big pipelines'). All calculators run in-browser with no account.

Highlights
  • No-signup utilities
    Every calculator and reference page is usable immediately, bilingual (EN/ES).
  • Niche focus
    Purpose-built for post-production math rather than generic calculators.
Friction points
  • Discovery via nav only
    Tools are organised under Calculators/Utilities/Reference tabs; a search box would speed finding a specific calculator.

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.
57,604 test runs recorded · 1,174 products tested with Lastest

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