In this video· click a step to jump to it
Test recording
StockMarketScan — app walkthrough
72,862 ms · 2,922 pixels changed
We built this regression test for stockmarketscan.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against stockmarketscan.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, s) => screenshotPath.replace('.png', `-${n}-${s}.png`);
const ORIGIN = new URL("https://stockmarketscan.com/dashboard").origin;
page.setDefaultTimeout(8000);
page.setDefaultNavigationTimeout(22000);
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' }).catch(function(){});
// block heavy third-party noise: speeds networkidle + removes console-error reds
for (const pat of ['**/client.crisp.chat/**','**/widget.intercom.io/**','**/*.intercomcdn.com/**','**/js.stripe.com/**','**/*.sentry-cdn.com/**','**/*.sentry.io/**','**/cdn.segment.com/**','**/*.hotjar.com/**','**/*.fullstory.com/**','**/connect.facebook.net/**','**/googletagmanager.com/**','**/google-analytics.com/**','**/cdn-cgi/scripts/**/email-decode.min.js']) {
await page.route(pat, function(r){ r.abort().catch(function(){}); }).catch(function(){});
}
// Scenario 1: public hero
await page.goto("https://stockmarketscan.com/", { waitUntil: 'domcontentloaded' });Checks run
Notes from the demo run
AI-generatedStockMarketScan is a clean, dark-themed stock screening platform that surfaces curated named setups (Momentum, Technical, Fundamental, Dividend) rather than raw data tables. The free tier provides 3 screeners plus a Watchlist and email alert. Post-login navigation is smooth: the Screeners page serves as the central hub, each screener loads a pre-filtered results grid, and the Alerts page provides a simple subscription UI. The dashboard doubles as the pricing/upgrade page.
- Curated screener grid24 named setups organised by category (Technical, Fundamental, Momentum, Dividend) with filter buttons that instantly re-sort the grid - very low friction for discovery.
- Individual screener resultsEach screener (Strong Volume Gains, Top Tech Stocks, Income & Growth) renders a live table of matching tickers with price, volume, and % change columns.
- Category filtersOne-click filter buttons (Technical 10, Fundamental 4, Momentum 6, Dividend 2) with live counts let users drill into their preferred style without a page reload.
- Stock Alerts pageDedicated /screener-alerts route lets free users set up 1 email alert per screener trigger - clear upgrade prompts for more.
- Watchlist integrationMy Watchlist panel slides in as an overlay from the nav bar, showing saved symbols and letting users track up to 10 tickers on the free plan.
- Pricing transparencyDashboard/pricing page shows $0 / $14.99 / $29.99 tiers side-by-side with clear feature differentiation - no hidden fees messaging.
- API & MCP access/docs page shows a clean REST API reference (GET /api/v1/screeners, GET /api/v1/patterns/:symbol) available from Basic plan, plus an MCP server for Claude/Cursor integration - strong developer appeal.
- ·
- ·
- ·
- ·
5 visual changes
Share this run
Proof your app is not AI slop
This test was built for stockmarketscan.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.














