In this video· click a step to jump to it
Test recording
sensecollect — app walkthrough
32,013 ms · 0 pixels changed · matches baseline
We built this regression test for sensecollect.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against sensecollect.com. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const AUTHED_PATH = '/dashboard';
const BUSINESS_INTERACTIONS = [{slug:'extract-url',input:{labels:['url','website','link','source','extract'],placeholders:['url','website','link','http','example.com','paste']},value:'https://news.ycombinator.com/',cta:{names:[/start extracting/i,/extract/i,/^run$/i,/create/i,/^start$/i,/scrape/i]}}];
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = () => page.waitForLoadState('networkidle', { timeout: 12000 }).catch(() => {});
const acceptCookies = async () => { const b = page.getByRole('button', { name: /accept|allow all|got it|agree|ok$/i }).first(); if (await b.isVisible().catch(() => false)) await b.click().catch(() => {}); };
const dismissModal = async () => { const b = page.getByRole('button', { name: /skip|dismiss|maybe later|not now|got it|close|^continue$|set up manually/i }).first(); if (await b.isVisible().catch(() => false)) await b.click({ timeout: 2500 }).catch(() => {}); };
// ── Public phase ──
stepLogger.log('Scenario 1: Homepage');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
await acceptCookies(); await settle();Checks run
Notes from the demo run
AI-generatedSenseCollect is a no-subscription, credit-based web-data extraction tool. Post-login lands on a clean 'Choose a scraping tool' catalog (Google Maps Leads, TikTok Hashtag Export live; Instagram/Amazon 'Soon') with per-tool credit costs and three guidance cards: What you'll receive / Before you run / Data quality notes.
- Credit cost shown per tool, upfrontEach tool card states its cost ('10 credits') before you run it, and 'Failed jobs are automatically refunded' — unusually transparent expectation-setting for a scraper.
- Low buyer friction'No subscription · CSV exports · Credits never expire' framing removes the usual scraper-tool commitment anxiety.
- Enter key hits Facebook OAuth, not loginOn the login form, pressing Enter in the password field triggers the 'Continue with Facebook' flow (the social buttons sit above email/password and capture the default submit). An explicit form-submit handler / reordering would stop accidental OAuth redirects.
Share this run
Proof your app is not AI slop
This test was built for sensecollect.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.