DEV Community

minepop
minepop

Posted on

TestSprite: What Happens When You Test Stripe's Pricing Page for Locale Handling

I pointed TestSprite's AI testing agent at Stripe's pricing page and asked it to find locale bugs. Here's what an autonomous AI tester found that manual QA would likely miss.

What TestSprite Does

TestSprite is an AI-powered testing agent. You give it a URL, tell it what to focus on, and it auto-generates and executes test cases. No test scripts to write. No Selenium to configure.

My Test Setup

Target: stripe.com/pricing — a real SaaS product with multi-currency pricing, internationalized UI, and locale-specific legal content.

Instruction: Focus on locale handling — currency display, date formats, number formatting, non-ASCII rendering, RTL layout, translation gaps, locale-aware sorting, and jurisdiction-specific legal content.

TestSprite generated 11 test cases automatically, each with a Given/When/Then structure:

  1. Currency display: USD vs SGD vs EUR
  2. Date and time formatting across locales
  3. Number formatting and percentage display
  4. Timezone-aware scheduling and DST edge cases
  5. Non-ASCII and multi-script content rendering
  6. RTL layout and mirroring (Arabic/Hebrew)
  7. Translation fallback and missing keys detection
  8. Locale-aware sorting and collation
  9. Locale-specific legal/regulatory content
  10. Locale preference precedence and persistence
  11. Edge case: Mixed-script strings and search stability

TestSprite AI auto-generated 11 locale-specific test cases with Given/When/Then structure

TestSprite dashboard — Locale Handling Test - Stripe (SG), 4/11 Pass, 97 Credits Remaining

Results: 4/11 Pass, 6 Fail, 1 Warning

11 test cases with Pass/Fail results per category

What passed:

  • Currency display — Stripe correctly shows USD ($), SGD (S$), and EUR (€) with proper symbol placement and decimal separators per locale.
  • Date and time formatting — Dates render in locale-appropriate formats (MM/DD vs DD/MM).
  • Non-ASCII rendering — CJK characters, Cyrillic, and Devanagari render without mojibake.
  • Locale-aware sorting — Accented characters sort correctly per CLDR rules.

What failed (the interesting part):

  • RTL layout — Stripe doesn't mirror its layout for Arabic/Hebrew locales. Navigation, icons, and form elements don't flip. This means Arabic-speaking users get a broken experience.
  • Translation gap detection — Some UI strings leak raw translation keys instead of falling back to English. You'd see pricing.plan.enterprise instead of "Enterprise Plan" in partially translated locales.
  • Number formatting — Indian numbering system (1,00,000 vs 100,000) isn't handled. Large numbers display inconsistently across locales.
  • Locale-specific legal content — Singapore GST disclaimer doesn't show for SG locale, but EU VAT does show for EU locales. Inconsistent jurisdiction handling.
  • Locale preference persistence — Switching locale doesn't persist across sessions. You pick SGD, refresh the page, and it reverts to USD.
  • Mixed-script search — Searching with CJK + Latin mixed strings (e.g., "Stripe支付") returns inconsistent results.

Locale Observation #1: LTR Bias Is Real

Stripe's i18n is excellent for LTR Latin-script languages — currency, dates, and sorting all work well. But RTL languages are essentially unsupported. This isn't a bug; it's a product decision. But TestSprite caught it explicitly, which most manual QA would skip because "we don't support Arabic yet."

The value is in the explicit gap documentation: now Stripe's team knows exactly what's broken for RTL, instead of a vague "we don't support it."

Locale Observation #2: Legal Content Is a Compliance Risk

The most surprising finding: Stripe shows EU VAT notices for German/French locales but doesn't show Singapore GST notices for SG locale — even though Stripe processes SGD transactions. For a payment platform, this is a potential compliance issue, not just a UX problem.

TestSprite flagged this automatically by testing locale-specific regulatory content rendering. A manual tester would need to know which jurisdictions require which disclosures to even think to test this.

What TestSprite Did Well

  • Zero-config locale test generation — I didn't specify "test for Indian numbering" or "test RTL mirroring." The AI inferred these from the instruction "test locale handling."
  • Real-world target testing — Testing against Stripe (not a mock API) produced meaningful, actionable results.
  • Structured test cases — Every test has a Given/When/Then structure, making failures reproducible.

What Needs Improvement

  • Test execution time — 11 frontend tests took ~8 minutes. Not slow, but not instant.
  • No backend testing — Stripe's API requires auth, so we skipped backend. For a payment platform, API-level locale testing would be valuable.
  • Free tier is tight — 22 credits consumed for one test suite. On the 150/mo free plan, that's ~6 test suites per month.

Verdict

TestSprite found real locale issues on a production SaaS platform that manual QA would likely miss — RTL layout gaps, translation key leaks, and jurisdiction-specific legal content inconsistencies. The AI didn't just check "does this render?" — it checked "does this render correctly for this locale?"

For teams shipping to multiple countries, the $19/mo Starter plan is a no-brainer. The locale handling tests alone found issues worth more than the subscription cost.


Tested on April 21, 2026. Free tier, 97 credits. Chrome on Linux.
TestSprite: testsprite.com
Test target: stripe.com/pricing
Account: 378533437@qq.com

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.