In this video· click a step to jump to it
Test recording
Axly Operating System — app walkthrough
83,597 ms · 92,242 pixels changed
We built this regression test for app.axly.tech — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.axly.tech. 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 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 STAMP = Date.now().toString(36).slice(-4).toUpperCase();
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' });
await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
await page.route('**/*sentry-cdn.com/**', function (r) { r.abort(); }).catch(function () {});
// ---------- PUBLIC: marketing context frame ----------
stepLogger.log('Public: axly.tech marketing home');
await page.goto('https://www.axly.tech/', { waitUntil: 'domcontentloaded' });Checks run
Notes from the demo run
AI-generatedWe created a workspace on Axly and then drove 12 post-login actions through it: the dashboard, the customer directory (adding a customer with US state and billing terms), Products & Stock, the invoice ledger, a full tax invoice built from your catalogue, issuing it, Quotations, the Payments Ledger, Reports & Tax Hub and Settings. The part that held up best is the invoice builder. Picking Halden Robotics, pulling Onboarding Workshop out of the catalogue, setting quantity 4 and choosing a US sales-tax group recomputed the subtotal, tax line and grand total live, and Issue & Save produced a numbered invoice (INV-202609-000NN) that immediately moved the TOTAL INVOICED and OUTSTANDING DUES tiles on the ledger. For a 14-day trial workspace with no setup, that is a lot of working machinery.
- The tax engine actually computesTax-exclusive pricing with a CA Sales Tax 7.25% group produced USD 5400.00 subtotal, +USD 391.50 tax, USD 5791.50 grand total, correct to the cent, before we saved anything. The jurisdiction list covers 16 countries out of the box.
- Catalogue to invoice in three clicksChoose customer, choose from catalogue, set quantity. Unit price, HSN code and tax group all pre-populate from the product record, so a line item is three interactions rather than seven fields.
- Ledger tiles update immediatelyTOTAL INVOICED, TOTAL COLLECTED, OUTSTANDING DUES and OVERDUE ALERTS all moved on the same paint as the new invoice row. No refresh, no stale cache.
- Settlement-at-issuance is the right callOffering Cash / UPI / Card / Cheque / Pending right on the issue screen means a counter sale is one screen instead of invoice-then-payment. That is a real understanding of how small shops actually bill.
- The verification code went to spamYour 6-digit signup code landed in the Gmail spam folder, not the inbox. The mail itself is well built, so this is almost certainly missing SPF/DKIM alignment on the sending domain rather than anything about the content. Worth checking, because a code a user cannot find is a signup they abandon.
- Duplicated tax-group options in the dropdownsEvery tax select renders each jurisdiction twice ('CA Sales Tax 7.25%' appears twice, same for FL, NY, TX and Tax Exempt). Harmless on a demo workspace, but it will read as a bug to anyone picking a rate, and it suggests the seeded tax groups are being merged with the defaults rather than replacing them.
- Upgrade Plan / Change Plan·Never touch checkout on someone else's product
13 visual changes
Share this run
Proof your app is not AI slop
This test was built for app.axly.tech — 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.






































