In this video· click a step to jump to it
Test recording
PixFit — app walkthrough
17,400 ms · 60 pixels changed
We built this regression test for app.pixfit.ai — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.pixfit.ai. 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); })()";
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' });
for (const pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/googletagmanager.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
const PROJECT_URL = baseUrl + '/production/e25582b0-11dd-4806-a3d2-7d36db76304a';
// Scenario 1: Workspace (project list)Checks run
Notes from the demo run
AI-generatedWe drove PixFit signed-in end-to-end: created an organization, spun up a 'Summer Sale Ad Set' project, and landed in the Resize studio. The editor is clean and purposeful, a left rail to drop a master image and pick output formats grouped by platform (Google 1:1/4:5/9:16/16:9, Meta 1:1/4:5/9:16, TikTok 9:16), and a right rail that spells out the 3-step path (Upload, Select formats, Generate). A marketer immediately understands what to do.
- Platform-grouped format gridOutput sizes are pre-organized under Google / Meta / TikTok with the exact ad ratios each platform wants, plus a one-click 'Select All', so building a full cross-platform set is a couple of clicks rather than manual math.
- Explicit 3-step results guideThe Results pane numbers the flow (1 Upload source images, 2 Select output formats, 3 Click Generate), so the empty state teaches the workflow instead of leaving a blank canvas.
- Brand-new account shows '0 credits remaining'The editor's Generate area reads '0 credits remaining' before the user has done anything, which reads as a dead end on first run; granting a few trial credits (or a clearer 'start your trial') would keep momentum.
- PixFit vs CanvaFlow namingThe org-setup step is branded 'CanvaFlow' while the rest of the product is 'PixFit'; aligning the onboarding header to PixFit avoids a moment of 'am I in the right app?'.
3 visual changes
Share this run
Proof your app is not AI slop
This test was built for app.pixfit.ai — 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.








