In this video· click a step to jump to it
Test recording
Fivemetrics — app walkthrough
183,130 ms · 147 pixels changed
We built this regression test for app.fivemetrics.io — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.fivemetrics.io. 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, slug) => screenshotPath.replace('.png', '-' + n + '-' + slug + '.png');
const SCROLL_THROUGH = "(async () => { const ease = t => 1 - Math.pow(1 - t, 3); const max = Math.max(0, document.body.scrollHeight - window.innerHeight); if (max < 40) return; const anim = (a, b, ms) => new Promise(res => { const t0 = performance.now(); const step = now => { const p = Math.min(1, (now - t0) / ms); window.scrollTo(0, a + (b - a) * ease(p)); p < 1 ? requestAnimationFrame(step) : res(); }; requestAnimationFrame(step); }); await anim(0, max, 1200); await new Promise(r => setTimeout(r, 300)); await anim(max, 0, 700); })()";
const ctx = page.context();
page.setDefaultTimeout(12000);
await ctx.setExtraHTTPHeaders({ 'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" });
for (const pattern of ['**/cdn-cgi/scripts/**', '**/*sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/*.doubleclick.net/**', '**/googletagmanager.com/**']) {
await page.route(pattern, function (r) { r.abort().catch(function () {}); }).catch(function () {});
}
Checks run
Notes from the demo run
AI-generatedWe registered a fresh Fivemetrics account, verified the 5-digit code, and then drove the authenticated product: Overview, Budgets and its Consumption/Forecast/Unit-economics tabs, Settings, the integration catalogue, and the Volt panel. The sample-data dashboard is the strongest thing here — a brand-new account immediately shows a $22.7K Brief 360 with forecast and anomaly counts, so the value is legible before any cloud account is connected.
- Sample data does the sellingA zero-integration account still renders Brief 360, total spend, forecast, active providers and savings. Most FinOps tools show an empty state here; you show the product.
- Budgets has real depthConsumption, Forecast, Allocation, Unit economics and Alerts are all live tabs on a new workspace, each with a first-steps explainer rather than a blank card.
- Verification is fast and dual-pathThe mail carries both a 5-digit code and a one-click link, and it landed in under 10 seconds.
- Four of seven sections are padlocked on a fresh accountTo handle, Security & Compliance, Optimization and Reports all show a lock to a newly-registered user, so an evaluator can really only explore Overview, Budgets and Settings. Consider unlocking them in read-only sample mode — that is where the differentiated work is.
- Verifying bounces you to the login form instead of signing you inAfter the code is accepted you get 'Verification successful. Please sign in with your credentials' and have to type the password again. Exchanging the verification for a session there removes a step at the highest-intent moment.
4 visual changes
Share this run
Proof your app is not AI slop
This test was built for app.fivemetrics.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.











