99.59%.That’s not uptime, not code coverage - it’s our yearly stability rate for mobile end-to-end test runs. It sounds almost impossible, especially if you’ve ever managed a growing Slack thread titled #iHateMobile.For three years, we fought the usual suspects of mobile automation: Appium timeouts, vanishing selectors, and flaky infrastructure. This talk condenses that journey into a survival guide for anyone who has ever wanted to throw their test phone across the room.In this fast-paced session, we will bypass the basics and dive straight into the specific architecture decisions that turned chaos into trust. We will look at how we moved beyond standard WebdriverIO implementations to build a system that is fast, predictable, and relied upon by the entire engineering organization.We will cover the "Big Three" that solved our flakiness:The Framework: How small, low-level fixes in element interaction and strict state management snowballed into massive stability gains.The Shortcuts: Why we killed UI-based setup in favor of API data seeding and custom app states to drastically reduce execution time.The Orchestration: Introducing our homemade "device-thread balancer" and CI triggers that made testing "one-click" easy.Finally, we’ll touch on the human element: how stable builds transformed our culture, turning skeptics into believers and making "just run the tests" the team's favorite phrase.
Key takeaways:- Root Cause Analysis: Techniques for diagnosing the real source of mobile flakiness (it's not always the device).Speed vs. Stability: How to use API seeding and backend shortcuts to stabilize frontend tests.
- DevOps Integration: Blueprints for a "device-thread balancer" that optimizes cost and speed.
- Culture: How to build trust with developers so they treat E2E tests as an asset, not a blocker.