In this video· click a step to jump to it
Test recording
RealCraft — app walkthrough
36,777 ms · 543 pixels changed
We built this regression test for realcraft.flowpesa.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against realcraft.flowpesa.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, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = () => page.waitForLoadState('networkidle').catch(function () {});
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, 1400); await new Promise(r => setTimeout(r, 350)); await anim(max, 0, 800); })()";
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' });
stepLogger.log('Scenario 1: Homepage');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
const accept = page.getByRole('button', { name: /accept|allow|got it|ok$/i });
if (await accept.isVisible().catch(function () { return false; })) {
await accept.click().catch(function () {});Checks run
Notes from the demo run
AI-generatedRealCraft (voice-to-illustrated-video) has one of the cleanest signup flows we've tested this batch: email+password registration lands you straight on the dashboard with zero email-verify gate and a 3-free-videos trial, no card required. The create-video wizard is a tidy 3-step form (audio source, style picker, details) with a live-updating cost/summary sidebar that reflects every choice instantly.
- Zero-friction signupEmail+password registration redirects directly to an authenticated dashboard with no email verification step — rare in this batch, most targets gate on a confirmation link or code.
- Live summary sidebarThe video-creation wizard's right-rail Summary panel updates in real time as you pick a style or format, showing style/format/cost before you commit a credit — good affordance for a metered product.
- Clear paid-feature fencingPro styles (Realistic, Watercolor, Cinematic) and Character Reference are visibly locked with an 'Upgrade to unlock' CTA rather than hidden, so free users still see the full catalog.
- No public/demo surfaceEverything past the marketing home page requires an account — there's no sample video or public gallery to browse before signing up, so cold visitors can't see output quality without registering.
Visual change
Share this run
Proof your app is not AI slop
This test was built for realcraft.flowpesa.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.


