Getir Emre Erkek Mar 17, 2026

Maestro at Scale: Architecting a Deterministic Mobile Test Platform

M10 Related OWASP risk: Insufficient Cryptography Learn more →

Article Summary

Emre Erkek from Getir reveals how they turned Maestro from a simple testing tool into a deterministic platform that runs thousands of tests daily. Most teams fail at E2E testing scale—here's the architecture that actually works.

Getir's engineering team built a production-grade mobile automation platform using Maestro as the foundation. This isn't a tutorial—it's a detailed blueprint for solving the three core problems that break mobile testing at scale: data volatility, architectural complexity across multiple business domains, and operational divergence between local and CI environments.

Key Takeaways

Critical Insight

Getir transformed Maestro into a scalable platform by treating automation as an internal product, systematically engineering out data volatility, complexity, and operational friction through architectural discipline.

The article includes their complete repository structure, environment resolution strategy, and the specific governance model that prevents automation spaghetti across 50+ engineers.

About This Article

Problem

Getir's super-app covers multiple business areas like Market, Food, and Water. With hundreds of test flows, the codebase became messy. Setup logic mixed into test scenarios, and teams kept duplicating the same implementations. Login flows appeared five times across tests. The select-address flow had ten different versions.

Solution

Emre Erkek's team created a strict four-tier taxonomy for flows: Suites, Scenarios, Subflows, and Components. They used platform-specific file extensions like .android.yaml and .ios.yaml. GitHub CODEOWNERS enforced governance rules to catch accidental regressions while letting teams work independently.

Impact

The modular structure cut down maintenance work by centralizing UI component changes into single files. When the Add to Cart button changed from text to an icon, one update fixed every test across the super-app. Without this, they would have needed 50 separate fixes.