In this video· click a step to jump to it
Test recording
PlugThis — app walkthrough
50,511 ms · 0 pixels changed · matches baseline
We built this regression test for plugthis.ai — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against plugthis.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 join = (b, p) => p.startsWith('http') ? p : (b.replace(/\/$/, '') + (p.startsWith('/') ? p : '/' + p));
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); })()";
const routeBlock = async (p) => { for (const pat of ['**/cdn-cgi/scripts/**/email-decode.min.js','**/sentry-cdn.com/**','**/browser.sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**','**/*posthog*']) { await p.route(pat, r => r.abort()).catch(function(){}); } };
await routeBlock(page);
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' });
let n = 1;
// ── Public: home ──
stepLogger.log('Scenario 1: Homepage');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' }).catch(function(){});Checks run
Notes from the demo run
AI-generatedPlugThis is a delightfully focused 'describe it, ship it' Chrome-extension builder. Sign-in is one-click Google; the app opens on a single hero prompt ('Describe Your Extension Idea') with a Build/Ask/Fast mode toggle and a row of one-tap starter ideas (Pomodoro Timer, Page Highlighter, Dark Mode, Expense Tracker). The Marketplace is already stocked with 23 real user-built extensions across Productivity and Developer Tools, and there's an Analytics view, so a new user immediately sees both the input and the proof.
- Starter-idea chips remove the blank-prompt problemUnder the hero, one-tap chips (Pomodoro Timer, CSS Inspector, Page Summarizer, Expense Tracker) instantly fill the prompt with a concrete idea, so a hesitant user is one click from building something real.
- Marketplace already has 23 real extensionsThe 'Discover what's possible' library is populated with genuine community builds (Web Dev Toolkit, ResearchHub AI, Data Masker, Sticky Notes Side Panel) with authors and categories, strong social proof for a launch-day visitor.
- 'Build' reads like the submit button but is a mode toggleThe prominent 'Build' control (next to Fast) is a Build/Ask mode selector; the actual submit is the small dark arrow in the corner. First-time users (and our automated walk) reached for 'Build' expecting to generate. Making the primary generate action the visually-dominant button, or relabelling the mode toggle, would remove that hesitation.
- Auth is Google-onlyThere's no email option, so anyone without a Google identity (or who prefers not to link one) can't try the product. An email or magic-link fallback would widen the top of the funnel on launch day.
Share this run
Proof your app is not AI slop
This test was built for plugthis.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.