In this video· click a step to jump to it
Test recording
https-decentro-tech-global — app walkthrough
2 steps · 41s
We built this regression test for https-decentro-tech-global — app walkthrough — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against https-decentro-tech-global — app walkthrough. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const AUTH_AUTOMATABLE = false;
const BIZ_INPUT_LABEL = '';
const BIZ_CTA_LABEL = 'Get Started Today';
const BIZ_DEMO_VALUE = '';
const HAS_BIZ_INTERACTION = false;
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
async function settle() {
await page.waitForLoadState('networkidle', { timeout: 3000 }).catch(function () {});
await page.locator('h1, h2, main, [role="main"]').first().waitFor({ state: 'visible', timeout: 5000 }).catch(function () {});
await page.waitForTimeout(300);What we see when we test https-decentro-tech-global — app walkthrough
DOM X-ray

How Lastest compares runs
Between two identical runs we flag every moved pixel. On your deploys, this is how real regressions get caught.
Accessibility checks — 2 rules evaluated
WCAG 2.2 AA · 25/27 rules passed
- 1 critical
- 1 serious
- CriticalWCAG Abutton-name1 occurrence · 2 nodes
Ensure buttons have discernible text
selector: .currency-converter_converter-currency-button__F_Y9h
Fix any of the following: Element does not have inner text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby at…
- SeriousWCAG AAcolor-contrast1 occurrence · 2 nodes
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
selector: .currency-converter_converter-comparison-item__ql2qh:nth-child(2) > .currency-converter_converter-comparison-loss__iuDT3 > span
Fix any of the following: Element has insufficient color contrast of 3.76 (foreground color: #ef4444, background color: #ffffff, font size: 7.5pt (10px), font …
Checks run
Notes from the demo run
AI-generatedThe Decentro Global marketing site is polished — clean hero, live FX quote widget, and a short two-step signup that asks for only four fields. But the signup form at /global/signup is currently unusable: it opens a blocking "Something went wrong, please try again later" modal on load, and the phone-number country dropdown behind it renders zero options, so "Next" never enables. Every visitor who clicks "Sign Up" in the header hits a dead end.
- Signup asks for very littleStep 1 is just first name, last name, phone and email — four fields, clearly marked mandatory, with a visible "Step 1/2" progress bar. That is a low-friction ask for a fintech onboarding form.
- Live FX quote on the heroThe homepage leads with an interactive amount-in / amount-out calculator that compares Decentro's rate against Banks and PayPal side by side. It communicates the value proposition without a single click.
- Fields carry stable IDs#first-name, #last-name, #email-input, #phone-input and #rfs-btn are all stable, semantic IDs — the form is unusually easy to automate and to instrument for analytics.
- Signup is blocked by an error modal on loadhttps://decentro.tech/global/signup opens a modal reading "Something went wrong, please try again later" before the visitor types anything — on direct load, not just via the header CTA. Cause: the page's load-time calls to https://workflow.decentro.tech/webhook/isd_signup/isd_country_list and /webhook/sg_signup/mode_list both fail. Server-side they return 403 Forbidden from nginx, including on the OPTIONS preflight, which is why the browser surfaces them as net::ERR_FAILED. Fix: restore the webhook host's access rules for those routes and re-allow the CORS preflight from the decentro.tech origin — the same host is also failing /webhook/fx/currencies, so this looks like one upstream rule, not three separate bugs.
- The failure degrades to a dead end instead of a fallbackBecause the country list never loads, the react-flags-select dropdown renders zero options, the phone field can't be completed, and "Next" stays permanently disabled — so even dismissing the modal leaves the form unusable, with no retry and no alternative path offered. Fix: ship a bundled fallback ISD country list so the form still submits when the lookup API is down, and replace the dead-end modal with an inline retry plus the [email protected] mailto as an escape hatch.
- /global/signup step 2 of 2·Unreachable — the country dropdown is empty so "Next" never enables.
- /global/signup final submit·Deliberately skipped: submitting creates a real sales lead in Decentro's workflow.
Share this run
Proof your app is not AI slop
This test was built for https-decentro-tech-global — app walkthrough — 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.


