Before we dive into the brutal reality of implementing Mabl, let's start with what they're actually trying to solve.
Mabl is a test automation platform that tries to make testing less painful. The founders (Dan Belcher and Izzy Azeri) previously built Stackdriver and sold it to Google in 2014, so they understand the infrastructure side of things.
The pitch: instead of spending your weekend fixing broken tests when developers change the UI, Mabl's AI attempts to fix them automatically. It works for simple cases. Complex scenarios still need a human to unfuck them, but that's true for every testing tool. Traditional Selenium WebDriver setups require constant maintenance when DOM elements change.
Why "Unified Testing" is Mostly Marketing Bullshit
Modern apps have web UIs, mobile apps, APIs, and whatever other nightmare product managers think up this quarter. Traditional testing means you're juggling 5 different tools that all suck in different ways:
- Different teams maintaining different test suites (I've seen companies with 6 different testing tools)
- Integration nightmares when things break ("Works fine in Selenium but fails in Appium")
- Nobody knows what's actually being tested (spent 3 hours debugging a "critical" test that hadn't run in 6 months)
Mabl tries to handle web, mobile, and API testing in one platform. It's not perfect, but it beats maintaining three different testing setups with tools like Browser Stack or LambdaTest.
What Actually Works vs What's Broken
Web Testing: The main thing Mabl does well. Their browser recorder actually works for happy path scenarios. Where it breaks:
- Dynamic content that changes based on data (
NoSuchElementException: Unable to locate element: "Welcome, John Smith"
when testing with different test users who have different names - learned this the hard way after 3 hours of debugging element locators) - File uploads (good luck with that - I've wasted 4 hours trying to get a simple PDF upload working, only to find out Mabl's file dialog detection fails on Chrome 119+ with custom upload components - check CSS selectors vs XPath for better targeting)
- Complex interactions like drag-and-drop (forget about testing Kanban boards or file reordering - spent 2 days trying to get a simple
dragElement.dragAndDrop(targetElement)
working before giving up, which even Playwright struggles with)
Mobile Testing: Uses Appium under the hood. Works fine for basic tap-and-swipe scenarios. Complex native gestures? You'll be debugging XPath selectors like it's 2015. iOS 17.1.2 broke like half our tests when Apple changed the accessibility IDs for UITextField
elements, and Mabl's "smart locators" couldn't figure out that accessibilityIdentifier="email_input"
became accessibilityIdentifier="email-field"
. Took us 3 days to manually fix 23 failing tests - check Appium testing guides for better mobile automation strategies.
API Testing: Surprisingly decent. You can import Postman collections and they usually work. The assertions are basic but functional, following API automation best practices.
The "Auto-Healing" Reality Check
When your developers change a button ID (because they will), Mabl tries to find it using other selectors. Sometimes it works. Sometimes it clicks the wrong element and you don't find out until production breaks. Last month our "auto-healed" checkout test started clicking the "Delete Account" button instead of "Place Order" because both buttons had the same CSS class .btn-primary
- thank god it was staging. The "healing" logic went from #place-order-btn
to //button[contains(@class, 'btn-primary')]
and picked the wrong one - classic CSS selector pitfall.
The "85% reduction in maintenance" claim is marketing bullshit from their Series B pitch deck. In reality, you still need someone who understands CSS selectors and XPath when things go wrong. Our "maintenance-free" test suite requires exactly 2.3 hours of debugging per week on average (I track this shit because management keeps asking), which isn't terrible, but it's not the promised land either. Check out automation best practices for building resilient tests.
Alright, so Mabl promises magic. Here's what actually happens when you try to use it.